计算机网络基础

1 TCP/IP网络模型

1.1 应用层

只需要专注于为⽤户提供应⽤功能,不⽤去关⼼数据是如何传输的

协议:HTTPFTPTelnetDNSSMTP

1.2 传输层

传输应用层的数据。 传输层的报⽂中会携带端⼝号,因此接收⽅可以识别出该报⽂是发送给哪个应⽤
协议:TCP、UDP
当传输层的数据包⼤⼩超过 MSS(TCP 最⼤报⽂段⻓度) ,就要将数据包分块.

1.3 网络层

在网络中做实际的传输工作,将数据从⼀个设备传输到另⼀个设备,而传输层专注服务于应用层。

协议:IP

ip协议作用

  • 寻址:找到⽬标地址的⼦⽹
  • 路由:通过路由算法决定下⼀步⾛哪条路径
IP 协议会将传输层的报⽂作为数据部分,再加上 IP 包头组装成 IP 报⽂,如果 IP 报⽂⼤⼩超过 MTU (以太⽹中⼀般为 1500 字节)就会 再次进⾏分⽚

1.4 网络接口层

MAC 头部是以太⽹使⽤的头部,它包含了接收⽅和发送⽅的 MAC 地址等信息;
我们可以通过 ARP 协议 获取对⽅的 MAC 地址
⽹络接⼝层主要为⽹络层提供「链路级别」传输的服务,
负责在以太⽹、 WiFi 这样的底层⽹络上发送原始数据包,⼯作在⽹卡这个层次,
使⽤ MAC 地址来标识⽹络上的设备。

2 键入网址到页面显示

2.1 HTTP

浏览器首先解析URL,从而生成http请求报文发送给Web服务器。

当没有路径名时,就代表访问根⽬录下事先设置的 默认⽂件 ,也就是 /index.html 或者 /default.html 这些⽂件。

2.2 DNS域名解析

根据服务器域名查询对应的IP地址。DNS服务器保存域名与IP地址的对应关系。

域名的层级关系类似⼀个树状结构:
DNS 服务器( .
顶级域 DNS 服务器( .com
权威 DNS 服务器( server.com
根域的 DNS 服务器信息 保存在互联⽹中 所有的 DNS 服务器中
域名解析过程
1.客户端首先向本地DNS服务器发出请求
2.如果本地DNS服务器缓存中保存了对应的IP地址,则返回;否则,本地DNS服务器向根域名服务器查询;
3.根域名服务器将对应的顶级域名服务器(.com)的地址传递给本地域名服务器;
4.本地DNS服务器向顶级域名服务器查询;
5.顶级域名服务器将对应权威域名服务器(www.server.com)地址传给本地域名服务器;
6....

2.3 协议栈

通过 DNS 获取到 IP 后,就可以把 HTTP 的传输⼯作交给操作系统中的 协议栈。
应⽤程序(浏览器)通过调⽤ Socket 库,来委托协议栈⼯作。

2.4 TCP

HTTP 是基于 TCP 协议传输的。
源端⼝号和⽬标端⼝号:标识应用
序号:为了解决包乱序的问题是
确认号:确认发出去对⽅是否有收到,解决丢包问题
RST:重连
窗口大小:滑动窗口用于流量控制和拥塞控制
TCP 传输数据之前,要先三次握⼿建⽴连接, 保证双⽅都有发送和接收的能⼒
TCP 分割数据:TCP数据部分的长度不能超过 MSS

TCP 的连接状态,在 Linux 可以通过 netstat -napt 命令查看。

2.5 IP

源地址 IP ,即是客户端输出的 IP 地址;
⽬标地址,即通过 DNS 域名解析得到的 Web 服务器 IP
协议号 ,要填写为 06 (⼗六进制),表示协议为 TCP。

当存在多个⽹卡时,在填写源地址 IP 时,就需要判断到底应该填写哪个地址。这个时候就需要根据 路由表 规则,来判断哪⼀个⽹卡作为源地址 IP。
Linux 操作系统,我们可以使⽤ route -n 命令查看当前系统的路由表。

2.6 MAC

MAC包头:

发送⽅ MAC 地址 接收⽅⽬标 MAC 地址 ,⽤于 两点之间的传输
⼀般在 TCP/IP 通信⾥, MAC 包头的 协议类型 只使⽤:
0800 IP 协议
0806 ARP 协议
  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值