里重要的一点就是分层
为用户提供所需要的各种协议,负责传送最终形态的数据,是直接和用户打交道,HTTP,FTP(file transfer protocol)(这两个都是属于TCP协议的),DNS(domain nane system)和SMTP(simple mail transfer protocol)也属于TCP,而DNS和TFTP(trivail(微不足道的,简单的) file transfer protocol)属于UDP
传输层对上层应用层,提供处于网络连接中的两台计算机之间的数据传输。
端对端的通信功能,TCP传输控制协议(transmission control protocol)(可靠的,面向连接的服务,有流量控制和差错控制,比如邮件的接收和发送、文件传输、远程登录),UDP(user datagram protocol)用户数据报协议(无连接的,提供高效率,低可靠性的,比如语音聊天、视频通话、在线点播VOD等)
TCP 位于传输层,提供可靠的字节流服务。
所谓的字节流服务(Byte Stream Service)是指,为了方便传输,将大块数据分割成以报文段(segment)为单位的数据包进行管理。而可靠的传输服务是指,能够把数据准确可靠地传给对方。一言以蔽之,TCP 协议为了更容易传送大数据才把数据分割,而且TCP 协议能够确认数据最终是否送达到对方。
为了准确无误地将数据送达目标处,TCP 协议采用了三次握手(three-way handshaking)策略。用TCP 协议把数据包送出去后,TCP不会对传送后的情况置之不理,它一定会向对方确认是否成功送达。握手过程中使用了TCP 的标志(flag)——SYN(synchronize)和ACK(acknowledgement)。发送端首先发送一个带SYN 标志的数据包给对方。接收端收到后,回传一个带有SYN/ACK 标志的数据包以示传达确认信息。最后,发送端再回传一个带ACK 标志的数据包,代表“握手”结束。
若在握手过程中某个阶段莫名中断,TCP 协议会再次以相同的顺序发送相同的数据包。
网络层用来处理在网络上流动的数据包。数据包是网络传输的最小数据单位。该层规定了通过怎样的路径(所谓的传输路线)到达对方计算机,并把数据包传送给对方
主机到主机的通信,有四个主要协议,其中重要的是IP(internet protocol)网络协议:IP 协议的作用是把各种数据包传送给对方。,地址解析协议ARP(address revolution protocol),互联网组管理协议IGMP,互联网控制报文协议ICMP
IP 地址指明了节点被分配到的地址,MAC 地址是指网卡所属的固定地址。IP 地址可以和MAC 地址进行配对。IP 地址可变换,但MAC地址基本上不会更改。
使用ARP 协议凭借MAC 地址进行通信
IP 间的通信依赖MAC 地址。在网络上,通信的双方在同一局域网(LAN)内的情况是很少的,通常是经过多台计算机和网络设备中转才能连接到对方。而在进行中转时,会利用下一站中转设备的MAC 地址来搜索下一个中转目标。这时,会采用ARP 协议(Address Resolution Protocol)。ARP 是一种用以解析地址的协议,根据通信方的IP 地址就可以反查出对应的MAC 地址。
用来处理连接网络的硬件部分。包括控制操作系统、硬件的设备驱动、NIC(Network Interface Card,网络适配器,即网卡),及光纤等物理可见部分(还包括连接器等一切传输媒介)
负责电路的链接,是整个网络的物理基础,典型的协议以太网协议,ADSL (Asymmetric Digital Subscriber Line ,非对称数字用户环路)是一种新的数据传输方式。它因为上行和下行带宽不对称,因此称为非对称数字用户线环路。
我们用HTTP 举例来说明,首先作为发送端的客户端在应用层(HTTP 协议)发出一个想看某个Web 页面的HTTP 请求。接着,为了传输方便,在传输层(TCP 协议)把从应用层处收到的数据(HTTP 请求报文)进行分割,并在各个报文上打上标记序号及端口号后转发给网络层。在网络层(IP 协议),增加作为通信目的地的MAC 地址(media access control address媒体通过控制地址,也称局域网地址,MAC地址用于在网络中唯一标示一个网卡,一台设备若有一或多个网卡,则每个网卡都需要并会有一个唯一的MAC地址。)后转发给链路层。这样一来,发往网络的通信请求就准备齐全了。接收端的服务器在链路层接收到数据,按序往上层发送,一直到应用层。当传输到应用层,才能算真正接收到由客户端发送过来的HTTP请求。
与HTTP 关系密切的协议:IP、TCP 和DNS
在到达通信目标前的中转过程中,那些计算机和路由器等网络设备只能获悉很粗略的传输路线。这种机制称为路由选择(routing)
1.Tcp 面向连接,提供可靠的传输; UDP面向无连接,提供不可靠传输
2. Tcp 提供流量控制 ; UDP不提供流量控制
3. Tcp 保证传输数据顺序 ; UDP不保证传输顺序,也就是可能是乱序收包
4. TCP 面向字节流 ; UDP 面向数据包