Hot For Coding
读TCP/IP网络编程几点纪要

由于不是科班出身,所以对计算机网络基础知识匮乏,只能通过读一些书来弥补盲点,以下是读完此书的一些摘要总结

关于以太网

这个是很早的时候玩电脑总是发现有一个名词:以太网,但是个什么东西不太清楚,正好通过此书得解,它是一种计算机局域网技术,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。以太网是目前应用最普遍的局域网技术。

IP协议

IP(Internet Protocol)协议是TCP/IP协议族的核心组成部分,是目前应用最广的网络互联协议。IP层对应于ISO/OSI七层参考模型中的网络层。通过IP数据包和IP地址屏蔽掉了不同的物理网络(如以太网、令牌环网等)的帧格式、地址格式等各种底层物理网络细节,使得各种物理网络的差异性对上层协议不复存在,从而使网络互联成为可能

IP地址

基于IP协议定义出的一个网络设备在网络中的唯一地址,如同门牌号,数据包的发送目的地是IP地址,但作为物理层的传输实际上是一个Mac地址,通过IP地址通过多次路由找到最终的匹配IP的Mac地址,以达到包传送的目的,而IP地址的子网掩码和IP地址算出目的地是不是在当前子网

TCP/IP协议

基于IP基础之上定义的一层协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议,说它是可靠性传输是因为它本身的机制。TCP为了保证不发生丢包,就给每个包一个序号,同时序号也保证了传送到接收端实体的包的按序接收。然后接收端实体对已成功收到的包发回一个相应的确认信息(ACK);如果发送端实体在合理的往返时延(RTT)内未收到确认,那么对应的数据包就被假设为已丢失并进行重传。TCP用一个校验和函数来检验数据是否有错误,在发送和接收时都要计算校验和。当然,可靠性传输也带来了消耗更大的资源问题,所以如果不是必须需要可靠性传输时尽量别用

UDP/IP协议

跟TCP相反,它不可靠,发出去了丢包不管,场景就是比如视频传输,丢几个包,视频质量突然变差也无所谓,但因为没有回传ACK,性能相比TCP大有提高

HTTP协议

它又基于TCP可靠性传输协议的基础之上又封装了一层协议,分别包含头部和内容体两部分,头部就定义了一些协议内既定好的字段,比如版本号,传输方法,位置等等。传完之后立即断开连接。

TITLE: 读TCP/IP网络编程几点纪要

LINK: https://www.qttc.net/367_read_tcp_ip_protocol.html

NOTE: 转载内容请注明出处