数据包的结构我们已经知道,网络通信就是交换数据包。电脑 A 向电脑 B 发送一个数据包,后者收到了,回复一个数据包,从而实现两台电脑之间的通信。数据包的结构,基本上是下面这样的:
发送这个包,需要知道两个地址
- 对方的 MAC 地址
- 对方的 IP 地址
有了这两个地址,数据包才能准确送到接收者手中。但是,前面说过,MAC 地址具有局限性,如果两台电脑不在同一个子网络,就无法知道对方的 MAC 地址,必须通过网关(gateway)转发。
网关和子网络的关系图
问题一:你买了一台新电脑,插上网线、开机,这时电脑能够上网吗?
- 本机的 IP 设置
- 子网掩码设置
- 网关IP设置
- DNS 服务器IP设置
- 或者采用 DHCP 协议,动态获取这些数据。
问题二:为什么有时候出现 QQ 可以正常聊天,网页输入域名却无法访问的情况?
- 这个情况,大概率是 DNS 服务器指定错误,QQ 可以直接用 IP 地址获取数据,而网页域名需要经过 DNS 服务器解析。
问题三:HTTP 是什么?
- HTTP 是基于
TCP/IP
协议的 应用层协议。它不涉及数据包(packet)传输,主要规定了客户端和服务器之间的通信格式,默认使用 80 端口。
问题三:HTTP header 常见的有哪些?
- status code 状态码
- Content-Type 数据类型
- cache 缓存
- Content-Encoding 数据压缩方法
- Accept-Encoding 接受的压缩方法
问题四:Socket 、 TCP 、 UDP 、HTTP 的区别?
-
IP 协议
对应于网络层,TCP 协议
和UDP 协议
对应于传输层,HTTP 协议
对应于应用层,三者从本质上来讲没什么可比性。 -
Socket
则是对 TCP/IP 协议的封装和应用。
网友评论