美文网首页
Java TCP/IP Socket编程 第一章

Java TCP/IP Socket编程 第一章

作者: HannahLi_9f1c | 来源:发表于2019-11-15 18:46 被阅读0次

    这一章主要是讲了网络编程的一些概念,如计算机网络、客户端与服务端、协议等。

    计算机网络、分组报文和协议

    1. 计算机网络是由通过信道连接起来的主机和路由器组成。这些信道可以提供字节的传输,比如无线wifi,有线以太网。路由器一般不会运行应用程序,而是提供一种路由功能(上面有路由表),将信息路由转发到不同主机上。我们每天在网上冲浪,就是在这种巨大的网路上传递信息。
    2. 在信道进行信息的传输,这些信息称为分组报文。网络的传输是有基本单位的,大的报文需要进行拆分成多个小的分组,进行分组交换。与分组交换传输相对的是电路交换,电路交换是一种连接式地传输,是沿袭着打电话而来,在进行传输时占用整个信道,效率极低,所以现在一般都是用分组交换方式。分组交换的方式不连接,所以在报文上就需要一些额外的信息,确认双方的身份,比如说IP地址、端口、使用的协议等。
    3. 协议,类似于人们交流的时候语言要统一的方式。只有当两端的人语言统一了,不同主机才能正常通信。它规定了分组报文的交换方式和包含的意义。TCP/IP是目前主流的一套协议,TCP/IP是一种网络分层模型,它将网络分成了应用层、传输层、网络层、数据链路层、物理层等,这种分层主要是为了将复杂的网络简单化,每一层提供相应的服务,并且相互解耦,不同的网络层使用不同的协议。

    地址

    网络的地址,也就是主机的IP地址,标识了不同的主机。就像送快递一样,每个人都要有一个地址。IP地址有32位的IPv4地址和128位的IPv6地址,IPv6的出现主要是因为IPv4的地址不够用了。当然我们在上网的时候,不是对一些特定的IP地址发起请求,比如说192.168.2.1,而是像www.bai.com这样的域名。作用其实就是方便记忆。就像人们都记不住一个人的身份证号码一样。

    客户端和服务端

    客户端和服务端本质都是主机嘛,但是功能却不同,服务端可以提高数据库等服务,客户端向服务端发起请求,请求数据。在TCP的三次握手中,就要一个主机作为客户端,另一个主机作为服务端。通常来说服务端根据不同的端口来提供不同的服务,比如说HTTP的端口默认为80,FTP的端口默认为21,而客户端发起请求的时候,它的端口是随机的。

    套接字

    套接字就是IP+端口,对应着操作系统分配的一些资源。当报文到达主机的时候,需要通过套接字来进入相应的应用程序;当主机中从不同应用收集数据,并为每个数据块封装上首部信息从而生成报文段,然后将报文段传递到网络层中去时也需要套接字。也就是提供了多路分解和多路复用的功能

    相关文章

      网友评论

          本文标题:Java TCP/IP Socket编程 第一章

          本文链接:https://www.haomeiwen.com/subject/kgusictx.html