计算机网络笔记之TCP/IP 协议
Posted better_hui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络笔记之TCP/IP 协议相关的知识,希望对你有一定的参考价值。
目录
2、ARP (Address Resolution Protocol)
一、计算机分层结构
1、七层协议
2、物理层
物理层面的基础设施,如网线、光纤等
3、数据链路层
以太网规定,接入网络的设备必须具备网卡接口,数据的流转必须是从一块网卡到另一块网卡,网卡在出厂前会烧制一个唯一的身份标识,这就是MAC地址,是网卡的物理地址,唯一且固定。
该分层常见的有ARP协议。
4、网络层
按照以太网的规则我们可以使用MAC向外发送数据,理论上,我们的电脑网卡可以找到世界上另外一块网卡连线并发送数据。但是以太网采用广播的方式,一是效率低 ,二是不能跨域子网。
所以,我们需要找到一种方法区分MAC是否在同一个子网上,如果在一个子网下,我们就广播,否则就路由。这就引出了网络层,网络层引入了一套新的地址方案,这就是IP地址。
IP地址,是网络地址,由网络管理员分配。
MAC是物理地址,绑定于网卡。
该分层常见的有IP、ICMP协议。
5、传输层
IP地址帮忙我们路由,MAC帮我们确定唯一的网卡地址。这样两台计算机可以连通了,但是另外一个问题出现了,电脑上不止运行了一个程序,我们如何区分例如QQ和微信的网络请求呢?我们需要参数来区分,这就是端口。不同的程序绑定在不同的接口上。
我们通过IP/MAC/PORT,就可以实现程序到程序的网络通信了。
该分层常见的有UDP、TCP协议。
6、应用层
程序收到了传输层的数据,接下来就是解包数据了。数据按照什么格式来解读,就催生了应用层的协议:HTTP/EMAIL/FTP等
二、TCP/IP
1、TCP/IP含义
狭义上来讲指的是两种协议,但是广义上指的是协议群,包含了一系列的协议。
2、数据包
包:全能性术语
帧,数据链路层中包的单位
数据包,网络层以上分层中包的单位
段,TCP数据流中的信息
消息,应用层协议中数据的单位
每个分层中,都包含了两部分:首部和数据。首部包含了目标地址、源地址、下层的协议信息。数据,是收到的下层数据。
3、数据处理流程
1、应用程序处理
对数据进行编码,建立连接发送数据
2、传输层处理
根据应用层建立并管理连接,并添加TCP首部
3、网络层处理
IP模块添加IP首部,形成IP包后,参考路由控制表决定路由或者主机
4、数据链路层处理
添加以太网首部,生成以太网数据包,通过一系列的路由跳转,传输给对端的
5、数据链路层处理
主机收到以太网数据包,判断MAC,决定处理或者丢弃
6、网络层处理
IP模块接收到数据后,判断IP是否处理,如果匹配则发送给对应的传输层,否则再次路由
7、传输层处理
接收数据,并传给指定端口的程序
8、应用程序处理
解析数据,展示内容。
三、TCP & UDP
传输层的典型协议。TCP、UDP
TCP : 面向连接,可靠的流协议。收发数据前先建立连接。占用系统资源较多
UDP: 非连接的,非可靠的数据包协议。占用系统资源少
通过IP地址、端口号、协议号进行通信识别
① 和② 的通信是在两台计算机上进行的。它们的目标端口号相同,都是80。这里可以根据源端口号加以区分。
③ 和 ① 的目标端口号和源端口号完全相同,但它们各自的源 IP 地址不同。
此外,当 IP 地址和端口号全都一样时,我们还可以通过协议号来区分(TCP 和 UDP)。
1、端口号
端口号的确定有两种方法:静态方法,应用程序指定;时序分配法,操作系统动态分配。
不同的传输层协议,可以使用相同的端口号。
2、TCP标志位
SYN(synchronous建立联机);
ACK(acknowledgement 确认)
PSH(push传送)
FIN(finish结束)
RST(reset重置)
URG(urgent紧急)
3、三次握手
三次握手请求方和接收方确认都有接收数据的能力。
1、客户端发送SYN = 1 ,seq = J ,服务端通过SYN = 1 ,确认客户端要求建立连接,且有发送数据的能力 。
2、服务端发送SYN =1 , ACK = 1 , ACK = J +1 ,seq = K ,客户端确认服务器有接收和发送数据的能力
3、客户端发送ACK = 1 ,ack = K+1 ,服务端确认客户端有接收数据的能力。
4、四次挥手
1、客户端发送FIN = M ,告诉服务端,我完事儿了,可以结束了
2、服务端发送ack = M+1 , 告诉客户端,知道了
3、服务端发送FIN = N , 告诉服务端,我也完事儿了,可以结束了
4、客户端发送ACK = 1,ack = N+1 ,确认断开
5、确认应答
TCP协议中,服务端在收到数据后,会发送ACK确认应答。
客户端一定时间内没有收到应答,则认为消息丢失,将发起重试。
序列号是按照顺序给发送数据的编号
四、IP协议
网络层的典型协议,实现终端节点之间的通信,是点对点的通信。
数据链路层,是在同一链路内的数据流转,不能跨链路,路由1 到 路由 2 , 路由2 到 路由3 , 是两个链路
网络层,是可以跨链路的
IP大致分为三大作用模块:IP寻址、路由、IP分包和组包。
1、IP地址
IP地址是为了区分MAC是否属于同一子网,由网络网管员分配的网络地址。
IP地址由网络标识和主机两部分标识组成,相同网络标识下,主机不可重复。
2、分类
A类 : 0开头 , 0.0.0.0 - 127.0.0.0 前8位是网络标识
B类 : 10开头 , 128.0.0.0 - 191.255.0.0 , 前16位是网络标识
C类 : 110开头 , 192.0.0.0 - 223.255.255.0 ,前24位是网络
D类 : 1110开头 , 224.0.0.0 - 239.255.255.255 ,没有主机标识,常用语多播
3、广播地址
广播地址用于同一链路中主机间发送数据包,将IP地址的主机位全部置 1 ,则是广播地址
4、子网
子网就是将主机地址的几位,拿出来做网络标识,将网络划分为若干个子网。
1、节约IP资源,比如一个C类地址,可以容纳256位主机,但是该企业只有20台主机,那么236个主机地址就浪费了
2、减少网络流量,优化性能。隔离数据在整个网络内的广播,提高信息传输速率。
5、子网掩码
子网掩码,又叫网络掩码,用来指明一个IP地址的哪些位标识的是主机所在的子网,可以看出多少位是网络标识,多少位是主机号。
6、超网
超网就是将几个小的子网,组成一个大的网络。
7、路由
发送数据包时使用的是网络层地址,然而仅有IP地址是无法连接到对端目标的。而需要通过一系列的路由,这个过程我们称之为路由过程,保存路由信息的就是路由控制表。
路由控制表有两种方式:管理员手动设置 、路由器间交互自动刷新
五、IP协议相关技术
1、DNS
网址 与 对应IP地址的管理系统,我们称之为DNS (Domain Name System)
2、ARP (Address Resolution Protocol)
在链路层发送数据,需要知道对端或者路由的MAC地址 , ARP协议就是已目标IP地址为线索,用来定位下一个应该接受数据分包的网络设置对应的MAC地址。
3、RARP
将ARP反过来,从MAC地址定位IP地址。
4、DHCP
动态IP分配,Dynamic Host Configuration Protocol
以上是关于计算机网络笔记之TCP/IP 协议的主要内容,如果未能解决你的问题,请参考以下文章