tcp_ip协议,网络通信过程
1.tcp/ip协议(族)
早期的计算机网络,都是有各厂商自己规定的一套协议,ibm,apple,microsoft都有各自的网络协议,互不兼容,为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议族就是协议标准,因为互联网协议包含了上百个协议标准,但是最重要的两个协议是tcp,ip协议,所以,大家把互联网的协议简称tcp/ip协议族
tcp/ip :应用层------>>运输层-------->>网络层-------->>链路层
另一套标准:
osi :应用层-------->>表示层-------->>会话层-------->>传输层--------->>网络层--------->>数据链路层--------->>物理层
2.通信过程
说明
在浏览器中输入一个网址时,需要将它先解析出ip地址来
当得到ip地址之后,浏览器以tcp的方式3次握手链接服务器
以tcp的方式发送http协议的请求数据 给 服务器
服务器tcp的方式回应http协议的应答数据 给浏览器
总结
MAC地址:在设备与设备之间数据通信时用来标记收发双方(网卡的序列号)
IP地址:在逻辑上标记一台电脑,用来指引数据包的收发方向(相当于电脑的序列号)
网络掩码:用来区分ip地址的网络号和主机号
默认网关:当需要发送的数据包的目的ip不在本网段内时,就会发送给默认的一台电脑,成为网关
集线器:已过时,用来连接多态电脑,缺点:每次收发数据都进行广播,网络会变的拥堵
交换机:集线器的升级版,有学习功能知道需要发送给哪台设备,根据需要进行单播、广播
路由器:连接多个不同的网段,让他们之间可以进行收发数据,每次收到数据后,ip不变,但是MAC地址会变化
DNS:用来解析出IP(类似电话簿)
http服务器:提供浏览器能够访问到的数据
3.网络地址转换器(路由器)
说明
当在家里用宽带链接上网时,会把电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->电脑等设备
电脑会得到来自电信服务商的一个公网ip地址(切记只有公网ip地址才能上网),此时可以直接上网happy…
为了能够让多台设备都可以上网,需要将数据进行“分流” 电话线(今天很多地方都是光纤)---->调制解调制(简称猫)------->路由器------>电脑等设备
此时路由器的一端有一个公网ip地址,剩下的4个(路由器型号不同个数不同)可以接入电脑等设备 并且 它们的ip是私有ip(例如 192.168.1.2)
当一个电脑(192.168.1.2)上网时,先通过DNS协议解析出某个域名对应的ip,然后
发送数据时,在经过路由器时转换为公网ip以及路由器自己分配的临时端口
192.168.1.2:6789----->192.168.1.1 路由器 116.226.52.212:6539------->猫---->万维网
接收数据时,在经过路由器时转换为路由器之前记录的ip以及port
万维网------->猫----->116.226.52.212:6539 路由器 192.168.1.1 ---->192.168.1.2:6789****
**以上内容面试中可能会问到
- C#网络编程笔记(1) -- TCP Socket通信基本过程和思路
- 网络通信过程 及TCP/UDP 面向连接?
- linux TCP网络通信过程
- (四十五)网络基础——OSI七层模型简介和TCP/IP四层模型及其通信过程
- 网络中两台主机的通信过程(TCP)
- 网络通信过程 及TCP/UDP 面向连接?
- 网络编程 UDP通信的过程 TCP通信过程 多线程文件上传
- Python网络通信之socket模块(四)基于Tcp/Ip的TCP交互通信serve/client的编写过程
- Linux网络通信(二)Socket编写TCP/UDP
- java tcp 网络通信--使用多线程传输文件
- 【转】win32平台TCP网络通信模块客户端
- 网络通信 001:TCP 的那些事儿(上)
- unity开发:Qt C++与unity之间TCP网络通信
- TCP的网络连接建立过程
- 网络通信--UDP和TCP
- 【安富莱TCPnet网络教程】HTTP通信实例
- 网络通信学习(二)——用电信号传输TCP/IP数据,探索协议栈和网卡
- 《Java开发实战1200例》(第2卷)学习笔记—TCP网络通信
- Java TCP使用Socket进行网络通信(4)之往返发送
- 第一章:1.9计算机网络概述------OSI参考模型和TCP-IP协议