1.OSI七层模型是什么?
答:
是网络通信分层模型,规范不同设备的通信流程
应用层 如HTTP FTP文件传输 DNS域名解析 SSH远程登录 为用户提高服务
表示层 对数据进行格式转换加密 如TLS/SSL
会话层 负责建立会话 管理和终止会话
传输层 提高数据的安全问题 可靠传输 解决丢包 如TCP ,UDP
网络层 负责跨网络传输数据,通过IP定位主机 选择路径
数据链路层 将数据封装成帧 负责相邻设备的可靠传输,通过MAC识别同一局域网内的设备
物理层 负责物理介质上的传输,光电信号 网线等
2.网络的七层/五层模型主要对应的协议有哪些?
答:
3.应用层都包含哪些协议?
答:
网页浏览HTTP/HTTPS
文件传输 FTP
远程登录 SSH TELNET
域名解析 DNS
分配IP DHCP ...........等
4.网络层都包含哪些协议?
答:
5.数据链路层都包含哪些协议?
答:
6.应用层报文如何传输到另一台主机上?
答:
通过传输层 网络层 数据链路层 物理层
最后通过介质传输
对方方向顺序接收
封装和解包
应用层写数据、传输层加上端口号、网络层加上IP地址、数据链路层加上MAC地址、物理层通过网线传输
对方把信号恢复成帧交给数据链路层,数据链路层层层解包交给上层
7.TCP HTTP FTP分别属于哪一层?
答:
TCP 传输层 HTTP FTP 应用层
8.内网和外网通信的过程?
答:
通过DNS域名解析 把域名解析成公网IP
把带有私有IP的报文发给本地路由器网关
路由器用NAT把私有IP地址转为公有IP地址
9.ARP找MAC地址的流程?
答:
生成ARP请求报文--》广播发送用全FF的MAC(目的MAC天FF:FF:FF::FF::FF::FF)广播地址
--》所有设备都收到了这个报文,根据目的IP选择性丢弃
--》如果是自己的IP,生成响应报文,发给源主机
--》源主机收到并缓存
关键:全FF的MAC地址是广播开关
10.在Socket编程中用到的函数
答:
服务端: socket 创建套接字 指定协议族
bind 绑定地址和端口
l isten 开始监听 指定最大连接数
accept 接受新连接
recv 接收数据
send 发送数据
close 关闭套接字
客户端:
socket
connect 连接服务端IP地址和端口
recv
send
close
11.什么是序列化和反序列化?
答:
序列化将对象数据转为字节序列在网络中传输,反序列化将字序列节变为对象