TCP/IP协议
互联网协议按照功能的不同,分为 OSI七层, TCP/IP 五层, TCP/IP 四层协议。
TCP/IP五层协议包括应用层、传输层、网络层、数据链路层和物理层。将数据链路层和物理层合并为网络接口层就是TCP/IP四层协议。
物理层
主要是由双绞线、光缆、电缆、无线电波组成,其作用很简单,就是连接不同的计算机,并传递底层电信号,高电压: 1 ,低电压: 0 。
数据链路层
从物理层上接收或者发送单纯的0 和1,然而不知道数据将数据发给谁。就像我们的快递一样,在外层包装上有商家地址和个人地址,这样不管是发还是收,都能准确定位。
因此,网络传送数据也一样,我们在数据前面加上目标地址,为了能接收到回信,也要把自己的地址也加上。但是,如果数据和地址放在一起又乱了,也分不清哪部分是数据,哪部分是地址。
就规定前面 xxx 位是地址,后面 xxx 位是数据,并且都要遵守这样的协议,这个协议就叫以太网协议。
以太网协议规定:一组电信号构成一个数据包,叫帧,每一帧分为报头( head )和数据( data ) 两部分。
以太网协议中的地址叫 MAC 地址, MAC 地址是每台计算机唯一的物理地址。。以太网协议规定,每一台接收和发送数据的设备必须要装有网卡,负责发送和接收数据的设备,发送端和接收端的地址,指的就是网卡的地址,即 MAC 地址。
交换机负责组建局域网,研究的是MAC地址。
广域网由一个一个相隔离的局域网组成,不同局域网之间使用路由器来连接。
路由器负责组建广域网,研究的是IP地址。
网络层:
子网掩码:用于判断不同计算机是否在同一个IP地址中,如果在同一个IP地址中,可以用广播的形式通信。如果不在同一IP地址,先把数据传给我方路由器,
再由我方路由器将数据传给对方路由器,最后由对方路由器把数据传给相应的计算机。
目前普遍使用的IPv4,由32位二进制组成,将其分为四段,每段为8位。
一个IP地址分为两部分,即网络号和主机号
网络号:用于标识不同的子网,主机号:用于标识子网下的主机编号
而网络号和主机号就是通过子网掩码来划分,子网掩码和IP地址差不多,都是由32位二进制数来表示
判断两个IP地址是否处于同一个子网下的方法:
将两个IP地址与子网掩码进行&运算,比较结果是否相同,如果相同则位于同一个子网络中,否则就不是
以太网的头部是包含了源MAC地址和目标MAC地址,那如何查找目标MAC地址呢?
一个叫ARP协议的东西专门解析目标MAC地址。ARP通过IP地址来查找MAC地址的一套固定协议,它是数据链路层的内容。
传输层:
一台计算机上可以一次性运行多个应用程序,比如QQ、微信、DNF一起运行,都要进行网络传输。
但是就前面学习的这三层内容,是没办法区分开数据是要发送给哪一个 软件的。
因此引入第四层,传输层
传输层定义了端口的概念,每一个网络应 用程序占用一个网络端口,不同的程序就用端口把数据隔离,两两互相不影响。
传输层有两种协议: TCP 和 UDP
TCP协议:可靠传输, TCP 数据包没有长度限制。通常 TCP 数据包的长度不会超过 IP 数据包的长度,以确保单个 TCP 数据包不必再分割。
TCP 头放的主要是源端口和目标端口
UDP 协议:不可靠传输,“报头”部分一共只有 8 个字节,总长度不超过 65535 字节,正好放 进一个 IP 数据包。
应用层:
用户使用的都是应用程序,均工作于应用层。可以开发自己的应用程序,数据多种多样,必须规定好数据的组织形式。
应用层:规定应用程序的数据格式
比如 Email 、 WWW 、 FTP 等,那么, 必须有不同协议规定电子邮件、网页、 FTP 数据的格式,这些应用程序协议就构成了“应用层”。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?