网络通信名词总结
Posted liurenli
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络通信名词总结相关的知识,希望对你有一定的参考价值。
名词解释
CS架构,客户端服务端架构
客户端(client) : 享受服务端提供的服务
服务端(server) : 给客户端提供服务
BS 浏览器和服务端 B(browser)
路由器,的作用?
当路由器在内网时 起到的是管理局域网的左右
链接外网,(NAT;网路地址转化,将你的内网ip转换为公网ip,)
交换机的作用?
将所有的电脑连接起来,连到一块
升级版集线器为交换机
简述OSI七层协议
应用层: 以太网+ip头+tcpudp+http协议+数据
表示层
会话层
传输层:以太网+ip+tcpudp协议+数据
网络层:以太网协议头+ip头(目标ip+源ip地址)
数据链路层:目标mac地址+源mac地址+数据
物理层: 电信号
mac地址:
网卡的唯一标识 全球唯一的相当于身份证.6位点分16进制
ip地址:
划分广播域 IPv4 : 不能超过255
IPv6: 6个冒号分十六进制 寻找路径:
打开网络和共享中心 找到更改适配器 在打开本地连接 详细信息
DHCP服务:自动分配IP地址
路由器:管理局域网,通过外网并由路由器转发.
交换机:升级版集线器
网关:在路由器这 ,把关对外的请求,由NAT将你的IP地址转换为公网的IP地址
外网又称为公网,
子网掩码:试计算目标IP地址是否和咱们是统一网段
DNS:表示的是服务器,记录着所有的域名和他网站对应的那台服务器的ip地址对应关系,理解为一个字典{"www.xx.com":192.168.x.x}
广播:把信息发给所有人
BS:浏览器和服务器端进行通讯方式被称为BS架构
CS架构:分为硬件架构:打印机
软件架构:QQ
服务端客户端的进行沟通的方式简称cs架构
三次握手四次挥手的流程:
三次握手建立连接阐述:
第一次握手:客户端要和服务端进行通信,首先要告知服务端一声,遂发出一个SYN=1的连接请求信号,#”服务端哥哥,我想给你说说话”。
第二次握手:当服务端接收到客户端的连接请求,时要给客户端一个确认信息,我知道了,#(ACK),我这边已经准备好了,你现在能连吗(SYN)”。
第三次握手:当客户端收到了服务端的确认连接信息后,要礼貌的告知一下服务端,#好的,咱们开始联通吧(ACK)”。
到此整个建立连接的过程已经结束,接下来就是双方你一句我一句甚至同时交流传递信息的过程了.
四次挥手断开连接阐述:
第一次挥手:双方交流的差不多了,此时客户端也已经结尾了,接下来要断开通信连接,所以告诉服务端#“我说完了(FIN)”,此时自身形成等待结束连接的状态。
第二次挥手:服务端知道客户端已经没话说了,服务端此时还有两句心里话要给客户端说,#“我知道你说完了(ACK),我再给你说两句,&*……%¥”。
第三次挥手:此时客户端洗耳恭听继续处于等待结束的状态,服务器端也说完了,自身此时处于等待关闭连接的状态,并对告诉客户端#“我说完了,咱们断了吧(FIN)”。
第四次挥手:客户端收知道服务端也说完了,也要告诉服务端一声,#(ACK),因为连接和断开要双方都按下关闭操作才能断开,客户端同时又为自己定义一个定时器,因为不知道刚才说的这句话能不能准确到达服务端(网络不稳定或者其他因素引起的网络原因),默认时间定为两个通信的最大时间之和,超出这个时间就默认服务器端已经接收到了自己的确认信息,此时客户端就关闭自身连接,服务器端一旦接收到客户端发来的确定通知就立刻关闭服务器端的连接。
上图为正确的,下图为错误的
用大白话解释三次握手四次挥手举例:
首先是三次握手:
一次"喂,你听的到么?"
二次"我听得到啊,你听的到我么?"
三次"我可以听到你,"
四次握手:
一次"喂哥们在么"
二次"在,,怎么了"
三次"没怎么 看看你在不在线"
四次"哦"
什么是socket ?简述基于TCP协议的套接字通信流程
socket:又称为套接字,他是应用层与TCP/IP协议族通信的中间软件抽象层,他是一组接口,同时也是一个模块,我们通过调用模块中的已经实现的方法姬娜里两个进程之间的连接和通信
面试题
简述tcp和udp协议的区别
tcp协议;面向连接,消息可靠需要通过链接,相对于udp来讲,传输速度慢,消息是面向流的无消息保护边界()
udp协议:面向无连接,消息不可靠,传输速度快,小时是面向包的,有消息保护边界.
套接字socket的发展史及分类
套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。
基于文件类型的套接字家族
套接字家族的名字:
AF_UNIX
unix一切皆文件,基于文件的套接字调用的就是底层的文件系统来取数据,两个套接字进程运行在同一机器,可以通过访问同一个文件系统间接完成通信
基于网络类型的套接字家族
套接字家族的名字:
AF_INET
(还有AF_INET6被用于ipv6,还有一些其他的地址家族,不过,他们要么是只用于某个平台,要么就是已经被废弃,或者是很少被使用,或者是根本没有实现,所有地址家族中,AF_INET是使用最广泛的一个,python支持很多种地址家族,但是由于我们只关心网络编程,所以大部分时候我们只使用AF_INET)
以上是关于网络通信名词总结的主要内容,如果未能解决你的问题,请参考以下文章