网络编程之各种协议

在网络编程 时有各种协议,多的眼花缭乱,学着也容易混淆,特意整理一下,方便查阅:


ARP:地址解析协议,就是把ip地址和mac地址对应起来的,当网络中一个ip地址没有与之相对应的mac地址时,ARP可以在网络中找到与之相对应的主机mac地址。ip在OSI模型的网络层,mac在数据链路层,他俩彼此互不联系,当要向以太网发送消息时,只知道目的ip地址,而不知道是哪个mac地址,这是ARP的作用就体现了,其可以根据网络层IP数据包包头中的IP地址信息解析出目标硬件地址(MAC地址)信息。


IP:这个最常见了,就是在互联网上各个计算机之间进行通信的协议,要遵照此协议发送的数据。但是IP协议不是可靠的,不提供消息未传达时的处理机制。


TCP:在IP协议上层(传输层)的一种传输协议,是面向连接的,他是可靠的,一般都要经过三次握手连接,适合于对连接可靠性要求较高的服务。

UDP:和TCP是相对的,也是位于传输层的一种面向无连接的不可靠的传输协议,就是只管发送,不管你有没有接到,适合于对连接可靠性无要求,一般聊天软件用这个。


DNS:是用来进行域名和ip地址转换的,位于应用层,现在都是一个域名对应一个IP,但一个IP可以对应多个域名或者没有域名。


DHCP:动态主机配置协议,就是为你的计算机分配ip地址的,具有手工、自动、动态分配三种分配方式,动态分配就是当你需要上网时为你的电脑分配一个动态IP地址,每次都是不一样的,当你不需要网时就把IP地址收回来,重复利用。


HTTP:超文本传输协议,就是发送和接收html文件的协议,现在的网页都是用html格式,在浏览器和服务器之间通信用的就是这个协议。

目前就用到了这几个,后续的再补充。

我的理解是当你用浏览器访问一个网站时,首先需要DHCP服务器也就是你的电信运营商为你的电脑分配一个可以上网的IP地址,然后在浏览器输入网站的域名,浏览器把这个指令转换成HTTP命令,然后连接DNS服务器查询此域名的IP地址,接着往下层传送,到了传输层后,选择TCP协议,接着送往网络层和数据链路层,通过ARP协议找到与此IP对应的mac地址,然后通过以太网把命令发送到指定服务器,至此请求命令发送完成,接着实行三次握手连接确认,成功后服务器即可返回你需要的内容也就是html的网页。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值