计算机网络原理

计算机网络原理

什么是互联网协议,为什么要有互联网协议

互联网的本质就是一系列的网络协议,硬件有了操作系统可以装上软件使用,但是计算机之间相互通信需要各层网络协议才能进行通讯
互联网协议的功能:定义计算机如何接入internet,以及接入internet的计算机通信的标准

osi五层

应用层 htp ftp
传输层 tcp udp-->基于端口工作,标识一台机器上的唯一应用程序
网络层 ip 标识一个子网
数据链路层 以太网协议(ethernet-电信号分组-广播方式)
物理层 电信号

以太网协议
ethernet :一组带你信号构成一个数据包,叫做帧
所有数据包分为报头和数据两部分
head+data

head;固定18个字节
发送者/源地址:6个字节
接收者/目标:6字节
数据类型:6字节
data包含:(最短64字节,最长1518字节),超过最大酒分片发送

mac地址: head中包含的源和目标地址由来:ethernet规定接入internet的设备都必须具备网卡,发送端和接受端的网卡地址即mac地址,48位2进制

IEEE802.1
目标mac地址:发送源mac地址:tpid:tci:类型:部分数据:crc
6Bytes: 6Bytes :2Bytes:2Bytes:2Bytes:xx:4Bytes


ipv4: 点分十进制,分为标识子网;标识主机。 192.168.0.1
子网掩码:255.255.255.0
与运算:192.168.0.0

::与运算结果相同的在一个子网不同的不在一个子网

IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。

IP数据包:head+data无需为ip包定义单独的栏位,直接放入以太网包的daat部分
head:长度为20-60字节
data:长度为65515字节
而以太网数据包的数据部分最长只有1500字节,如果ip数据包长度长过了,他就需要分割成几个以太网数据包,分开发送


ARP协议

计算机通信靠广播形式,所有上层的包到最后都要封装成以太网头,然后通过以太网协议发送,通信是靠mac的广播形式,如何获取mac地址,需要apr协议
apr协议:广播的方式发送数据包,获取目标主机的mac地址

  1. 首先通过ip地址和子网掩码区分出子集所处的子网

  2. 源mac    目标mac   源ip 目标ip    数据部分  
    发送端主机   发送端mac  FF:FF:FF:FF:FF:FF
    172.16.10.10/24 172.16.10.11/24 数据
    
  3. 这个包会以广播的方式在发送端所处的自网内传输,所有主机接收后拆开包,发现目标ip为自己的,就响应,返回自己的mac

TCP三次握手

tcp可靠:三次握手验证。

用户上网流程

发送数据是一个封装的过程

DNS解析过程

数据封装

整个网络通信流程

1. 本机获取:

本机ip地址 10.0.0.10    
子网掩码: 255.255.255.0  
网关的IP地址:10.0.0.1
DNS的IP地址

2. 打开浏览器,地址栏输入 www.baidu.com

3. dns协议

4. TCP协议

tcp数据包需要设置端口,接收方的http端口是80,发送方(本机)的端口是1024-65535之间
TCP数据包头长度是20字节,加上嵌入的HTTP数据包,编程4980字节

5. IP协议

然后TCP包再嵌入IP数据包。ip数据包需要设置双方的ip地址
ip数据包的头长度是20字节,再加上嵌入的TCP数据包,长度变为5000字节

6. 以太网协议

最后ip数据包嵌入以太网数据包,以太网数据包需要设置双方的mac地址
以太网数据包的数据部分,最大长度为1500字节,因此ip数据包必须分为四个包,长度1500 1500 1500 560

7. 服务端响应,google的服务器接受了这四个以太网数据包

根据IP标头的序号,Google将四个包拼起来,取出完整的TCP数据包,然后读出里面的”HTTP请求”,接着做出”HTTP响应”,再用TCP协议发回来。

本机收到HTTP响应以后,就可以将网页显示出来,完成一次网络通信。
原文地址:https://www.cnblogs.com/cx2c/p/6890876.html