了解TCP与Socket

1. 理解TCP

1.1 了解TCP

      很多不同的厂家生产各种型号的计算机,它们运行完全不同的操作系统,但TCP/IP协议族允许它们互相进行通信。TCP/IP起源于60年代末美国政府资助的一个分组交换网络研究项目,到90年代已发展成为计算机之间最常应用的组网形式。
      TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。

1.2 分层实现

      网络协议通常分不同层次进行开发,每一层分别负责不同的通信功能。一个协议族,如TCP/IP是一组不同层次上的多个协议的组合。TCP/IP通常被认为是一个四层协议系统。但是为了方便学习理解,国际标准化组织ISO 推出了OSI(Open System Interconnect ,开放系统互联) 七层参考模型。
在这里插入图片描述
以下我们使用OSI模型来说明:

物理层: 主要定义物理设备标准,如网线的接口类型、各种传输介质的传输速率等。主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是常说的数模与模数转换)。这一层的数据叫做比特(bit),主要设备:集线器。
数据链路层: 主要将从物理层接收的数据进行MAC地址的封装与解封装。常把这层的数据叫做帧,主要设备:网卡,交换机。
网络层: 选择合适的网间路由和交换节点,确保数据及时传送,将从下层接收到数据进行 IP 地址的封装与解封装。通常把这一层数据叫做数据包,主要设备:路由器。
传输层: 定义了一些传输数据的协议和端口,如TCP、UDP协议,主要将从下层接收的数据进行分段和传输,到达目的地址后再进行重组,以往把这一层数据叫做段。
会话层: 通过传输层建立数据传输通路。在系统之间发起会话或者接受会话请求(设备之间需要相互认识)。
表示层: 主要是进行对接收的数据进行解释、压缩与解压缩等,即把计算机能够识别的东西转化为人能够识别的东西(如图片、声音等)。
应用层: 主要是一些终端的应用,比如说FTP(各种文件下载)、浏览器、QQ,以及域名系统DNS(将域名解析为IP,及其反解)等,可以将其理解为在电脑屏幕上可以看到的东西,也就是终端应用。

注: 从上文介绍可以知道,发送数据时,在网络层会将IP(包含本机IP与目的机IP)进行封装,但是我们平时访问一个网站往往都是使用如:www.baidu.com 来访问网站,这时就需要 DNS 来将主机名解析为IP地址。若对这方面有兴趣可以看看 DNS & bind详解

1.3 数据传输

在这里插入图片描述
      我们需要知道 TCP 工作在网络OSI的七层模型中的传输层(Transport),IP在网络层(Network),ARP在数据链路层(Data Link);在第二层上的数据,我们把它叫Frame(帧),在第三层上的数据叫Packet(包),第四层的数据叫Segment(段)。 同时,我们需要简单的知道,数据从应用层发下来,会在每一层都会加上头部信息,进行封装,然后再发送到数据接收端。这个基本的流程你需要知道,就是每个数据都会经过数据的封装和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值