互联网
2016-09-10 20:10:49 14 举报
互联网是由一大堆协议构成的
作者其他创作
大纲/内容
以太网包
Data
DHCP是基于UDP协议这个协议规定,每一个子网络中,有一台计算机负责管理本网络的所有IP地址,它叫做\"DHCP服务器\"。新的计算机加入网络,必须向\"DHCP服务器\"发送一个\"DHCP请求\"数据包,申请IP地址和相关的网络参数。
TCP数据包和UDP数据包一样,都是内嵌在IP数据包的\"数据\"部分。TCP数据包没有长度限制,理论上可以无限长,但是为了保证网络的效率,通常TCP数据包的长度不会超过IP数据包的长度,以确保单个TCP数据包不必再分割。
IP协议
Head
互联网的核心是一系列协议,总称为\"互联网协议\"(Internet Protocol Suite)。它们对电脑如何连接和组网,做出了详尽的规定。理解了这些协议,就理解了互联网的原理。
单纯的0和1没有任何意义,必须规定解读方式:多少个电信号算一组?每个信号位有何意义?
UDP协议
所谓\"动态IP地址\",指计算机开机后,会自动分配到一个IP地址,不用人为设定。
DHCP服务器
FTP协议
上网设置
网关的IP地址
IP数据包
一块网卡怎么会知道另一块网卡的MAC地址?其次,就算有了MAC地址,系统怎样才能把数据包准确送到接收方?以太网采用了一种很\"原始\"的方式,它不是把数据包准确送到接收方,而是向本网络内所有计算机发送,让每台计算机自己判断,是否为接收方。它们读取这个包的\"标头\",找到接收方的MAC地址,然后与自身的MAC地址相比较,如果两者相同,就接受这个包,做进一步处理,否则就丢弃这个包。这种发送方式就叫做\"广播\"(broadcasting)。
IP地址
DHCP请求包
它就是把电脑连接起来的物理手段。它主要规定了网络的一些电气特性,作用是负责传送0和1的电信号。不涉及什么协议
本机的IP地址
以太网标头的MAC地址是双方的网卡地址
传输层
把整个UDP数据包放入IP数据包的\"数据\"部分
以太网数据包的\"标头\",包含了发送者和接受者的信息。那么,发送者和接受者是如何标识呢?以太网规定,连入网络的所有设备,都必须具有\"网卡\"接口。数据包必须是从一块网卡,传送到另一块网卡。网卡的地址,就是数据包的发送地址和接收地址,这叫做MAC地址。
DHCP协议
8字节
TCP数据包
UDP标头的端口是67(发出方)和68(接收方)
DHCP响应包
规定网络地址的协议,叫做IP协议。它所定义的地址,就被称为IP地址。目前,广泛采用的是IP协议第四版,简称IPv4。这个版本规定,网络地址由32个二进制位组成。IP协议的作用主要有两个,一个是为每一台计算机分配IP地址,另一个是确定哪些地址在同一个子网络。
20到60字节
待分配主机
静态分配
互联网是无数子网络共同组成的一个巨型网络
UDP标头设置发出方的端口和接收方的端口。这一部分是DHCP协议规定好的,发出方是68端口,接收方是67端口。
以太网协议
动态分配
以太网规定,一组电信号构成一个数据包,叫做\"帧\"(Frame)。每一帧分成两个部分:标头(Head)和数据(Data)。\"标头\"包含数据包的一些说明项,比如发送者、接受者、数据类型等等 ,\"标头\"的长度,固定为18字节。\"数据\"则是数据包的具体内容。\"数据\"的长度,最短为46字节,最长为1500字节。整个\"帧\"最短为64字节,最长为1518字节。如果数据很长,就必须分割成多个帧进行发送。
子网掩码
IP标头的IP地址是DHCP服务器的IP地址(发出方)和255.255.255.255(接收方)
以太网标头设置发出方(本机)的MAC地址和接收方(DHCP服务器)的MAC地址。前者就是本机网卡的MAC地址后者这时不知道,就填入一个广播地址:FF-FF-FF-FF-FF-FF。
\"标头\"部分主要定义了发出端口和接收端口\"数据\"部分就是具体的内容。\"标头\
IP数据包是放在以太网数据包里发送的,所以我们必须同时知道两个地址,一个是对方的MAC地址,另一个是对方的IP地址。通常情况下,对方的IP地址是已知的(后文会解释),但是我们不知道它的MAC地址。第一种情况,如果两台主机不在同一个子网络,那么事实上没有办法得到对方的MAC地址,只能把数据包传送到两个子网络连接处的\"网关\"(gateway),让网关去处理。第二种情况,如果两台主机在同一个子网络,那么我们可以用ARP协议,得到对方的MAC地址。ARP协议也是发出一个数据包(包含在以太网数据包中),其中包含它所要查询主机的IP地址,在对方的MAC地址这一栏,填的是FF:FF:FF:FF:FF:FF,表示这是一个\"广播\"地址。它所在子网络的每一台主机,都会收到这个数据包,从中取出IP地址,与自身的IP地址进行比较。如果两者相同,都做出回复,向对方报告自己的MAC地址,否则就丢弃这个包。
UDP数据包
区分哪些MAC地址属于同一个子网络,哪些不是。如果是同一个子网络,就采用广播方式发送,否则就采用\"路由\"方式发送。它的作用是引进一套新的地址,使得我们能够区分不同的计算机是否属于同一个子网络。这套地址就叫做\"网络地址\",简称\"网址\"。每台计算机有了两种地址,一种是MAC地址,另一种是网络地址。两种地址之间没有任何联系,MAC地址是绑定在网卡上的,网络地址则是管理员分配的,它们只是随机组合在一起。
这个地址分成两个部分,前一部分代表网络,后一部分代表主机。
18字节
TCP协议
实体层
把IP数据包直接放进以太网数据包的\"数据\"部分
链接层
HTTP协议
怎样才能从IP地址,判断两台计算机是否属于同一个子网络呢?这就要用到另一个参数\"子网掩码\"(subnet mask)。所谓\"子网掩码\",就是表示子网络特征的一个参数。它在形式上等同于IP地址,也是一个32位二进制数字,它的网络部分全部为1,主机部分全部为0。
APR协议
Email协议
IP数据包也分为\"标头\"和\"数据\"两个部分。\"标头\"部分主要包括版本、长度、IP地址等信息,\"数据\"部分则是IP数据包的具体内容。IP数据包的\"标头\
(网卡)MAC地址
最终的以太网包
广播协议
对方的MAC地址对方的IP地址
同一台主机上有许多程序都需要用到网络,比如,你一边浏览网页,一边与朋友在线聊天。当一个数据包从互联网上发来的时候,你怎么知道,它是表示网页的内容,还是表示在线聊天的内容?也就是说,我们还需要一个参数,表示这个数据包到底供哪个程序(进程)使用。这个参数就叫做\"端口\"(port),它其实是每一个使用网卡的程序的编号。\"传输层\"的功能,就是建立\"端口到端口\"的通信。相比之下,\"网络层\"的功能是建立\"主机到主机\"的通信。只要确定主机和端口,我们就能实现程序之间的交流。因此,Unix系统就把主机+端口,叫做\"套接字\"(socket)。
网络层
DNS的IP地址
IP标头设置发出方的IP地址和接收方的IP地址。这时,对于这两者,本机都不知道。于是,发出方的IP地址就设为0.0.0.0,接收方的IP地址设为255.255.255.255。
应用层
0 条评论
下一页