1.osi七层模型,每层的作用
物理层:物理联网媒介,例如网线,电缆。传输格式为比特流。比特流
数据链路层:将上层数据封装成帧,带有数据校验,保证数据在不可考的网络中可靠的传输。控制物理层与网络层的通信,帧不仅包括原始数据,还包括原始地址和目标物理地址以及校验控制信息。帧
网络层:将网络地址翻译成物理地址,并根据路由算法选择一条最佳的通信路线包。
传输层:网络传输中的流量控制,以及对数据包的分割与重组,(以太网无法接收大于1500字节的数据)有可靠和不可考的传输方式(TCP/UDP),有传输错误检测,是网络上不同主机进程与进程间的通信。段。
会话层:负责网络中两个节点间通信的建立,保持通信与断开链接。数据
表示层:应用程序与网络间的翻译,使数据按照网络可以理解的格式进行转换,这种格式化也因网络的不同而不同。例如数据的加密解密。表示层协议还对图片和文件格式信息进行编码和解码。数据
应用层:为用户的应用程序提供了网络服务相应接口,如电子邮件,文件传输等。
数据在osi七层中传递的方式是U型的,即节点A先由应用层开始,依次运行到物理层,从物理层传输到节点B,在由物理层层层解析到应用层。
2.tcp/ip分为几层,每层作用与协议
四层或五层,每层作用与上面所讲对照。应用层,邮件传输协议smtp,文件传输ftp,网络远程访问telnet;传输层,tcp/udp;网络层,ip协议;网络接口层(数据链路层,物理层)。
3.MAC地址的概念和作用
mac地址是网卡的物理地址,用来在局域网中通信,局域网中交换机通过mac地址来传输数据。
4.ARP协议用途,在哪层使用
ARP是地址协议,通过IP解析出其MAC地址,在网络层使用,也有一说在数据链路层。
5.CRC冗余校验算法,反码和检验算法
CRC说起来比较麻烦,百度百科说得很清楚。反码和即ip校验和算法,发送方将ip包头按16byte分成多个单元,不足16的倍数就补0直到16的倍数,设校验和字段为0,将各单元采用反码加法运算(溢出的位补到最后一位,而不是用反码相加),将结果的反码存入校验和字段。当接收时方法与上述类似,但是不需要将校验和字段设为0,而且按上述步骤判断得到的结果的反码是否为0来判断。
6.如何实现透明传输
透明传输,形象的说,就是类似接口的调用,不需要关心接口的内部实现,只需利用它完成相应业务。网络的分层结构,各层之间相互独立,层与层之间通过接口调用。在开发方面例如socket重的send和recv函数。
7.知道个个层使用的是哪个设备(交换机,路由器,网关)
物理层使用中继器和集线器,数据链路层使用交换机,网络层使用路由器,传输层以上的各层使用网关。不过现在三层交换机也有。
8.路由表的内容
目的网段,子网掩码,网关(下一跳的路由器的ip),接口(这对特定的目的地址,使用特定的网络接口,与网关处于同一子网),跳数(路由成本,路由器跳转的次数),手动配置的静态路由,动态路由。
9.路由分组转发算法
- 从ip数据报提取出目的ip地址D,得出其所在网络N
- 如果N就在与路由器连接的某个网络,直接进行数据传输,否则执行3
- 如果路由表中有D的特定的主机路由,将其发送给特定的下一跳路由
- 如果路由表有到达N的路由,做下一跳路由转发,否则执行5
- 如果路由表有一个默认路由,转发给默认路由,否则执行6
- 报告转发分组出错
10.IP报文格式及含义
前5项是必须的,所以IP包最少20字节。
IP包头的格式:
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Version| IHL |Type of Service| Total Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Identification |Flags| Fragment Offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Time to Live | Protocol | Header Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Options | Padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
版本,标识ip的版本号,4位,0100表示ipv4,0110表示ipv6。
报头长度:表示IP报文头部按32位字长计算,一共4位
服务类型:8位,包括3位的优先级字段,4位TOS,1位为被使用,但是需要置0,4位TOS分别表示最小延迟,最大吞吐量,最高可靠性,最小费用,各占1位。
总长度:IP数据包总长度,16位,所以总长度最大位65535
标识符16位,标记字段3位,分段偏移13位,三者用于数据包的分段。
TTL:防止数据在网络中无休止传输,8位,最大值255,每经过一台路由,TTL减1
协议:传输协议类型,8位
校验和:16位,针对IP包头校验
源地址和目标地址,各32位,IP
可选项:可选,包括源地址信息和路由信息,用于测试
Padding:填充位,使得包头保持32的倍数