1、发展背景

计算机技术和通信协议是计算机网络产生与发展的两个最基本的内容;

网络:
局域网:通过交换机和路由器连接在一起,覆盖范围在1KM以内
城域网:覆盖范围在10~20KM
广域网:将远隔千里的计算机都连在一起,覆盖范围在20KM以上

因特网/互联网:具有国际范围的广域网

以太网、令牌环网:比较典型的组网方式

ip地址,端口,通信协议,网 络字节序;

2、网络中的地址管理

2.1 IP地址

网络中每一台主机的唯一标识 : ip地址
ip协议的两个版本:

ipv4:  uint32_t 类型的整数;——DHCP 动态分配 ——NAT(私网地址转换)ipv6: uint8_t addr[16] 

私网:用于内部通信的网络
公网:互联网

IP分配:DHCP——动态地址分配;NAT——网络地址转换;
每个网络中的数据都会带有两条信息:源端ip地址+对端ip地址;

2.2、MAC地址

长度为48位(6个字节);
MAC地址通常是唯一的,在网卡出厂时就确定了,不能修改;

3、端口

端口:在一台主机上用于标识一个进程;

unit16_t类型的数据,范围:0~65535
sip+sport+dip+dport——描述数据从哪来到那去

  • 也就是说,网卡接收到网络中的发往当前主机的一条数据,这条数据由当前主机上的那个进程处理,由端口决定;

  • 网络中的每一条数据都包含两条信息:源端端口+对端端口;
  • 一个端口只能被一个进程占用(一个进程可以用多个端口);

4、协议

协议:网络通信协议——网络传输中数据格式的约定;

因此,要实现网络互连必须具有统一的网络通信协议标准;

5、 协议分层

协议分层:在复杂的网络通信环境中,根据服务,以及所使用的的协议,将网络通信环境划分为多层;

5.1、OSI七层模型

从上至下:
应用层 表示层 会话层 传输层 网络层 数据链路层 物理层

5.2CP/IP五层模型

应用层:负责应用程序之间数据沟通;——HTTP协议(超文本传输协议)、FTP协议(文件传输协议)、DNS(域名解析协议)、SMTH(电子邮件传输协议)等传输层:负责应用程序之间数据传输;——TCP(传输控制协议)、UDP(用户数据报协议)等网络层:负责地址管理与路由选择;——ARP(地址解析协议)、IP(网际协议)等——路由器链路层:负责相邻设备之间的数据传输;——以太网协议——交换机物理层:负责物理光电信号的传输(差错控制、流量管理、链路管理);——以太网协议——eth、交换机工作在数据链路层——集线器

集线器:物理层
交换机:链路层 物理层
路由器:物理层 链路层 网络层
pc:物理层 链路层 网络层 传输层

6.数据包装和分用

不同的协议层对数据包有不同的称谓,在传输层叫,在网络层叫数据报,在链路层叫

应用层数据通过协议栈发到网络上时,每层协议都要加上一个数据首部,称为封装;

数据封装成帧后发送到传输介质上,到达目的地主机后每层协议再剥掉相应的首部,根据首部中的“上层协议字段”将数据交给对应的上层协议处理;

数据封装:

数据分用:

7.网络字节序:

字节序:cpu在内存中数据进行存取的顺序字节序种类:    大端字节序:低地址存高位    小端字节序:低地址存低位

一块空间起始地址是低地址
整形二进制中,右边为地位,左边为高位

字节序所影响的数据:就是存储单元大于一个字节的数据类型;
主机字节序对于网络通信的影响:

在网络通信中不同主机字节序的两端主机进行数据传输可能造成数据二义;

解决方案:在网络通信中设定字节序标准,网络中通信传输的数据必须使用指定的字节序——网络字节序(大端字节序)

8.IP认识

  • IP是在IP协议中用来表示不同主机的地址;
  • IPV4是一个4字节,32位的整数;
  • 我们通常也使用 "点分十进制" 的字符串表示IP地址, 例如 192.168.0.1 ; 用点分割的每一个数字表示一个字节, 范围是 0 - 255;

9.MAC认识

  • MAC地址用来识别数据链路层中相连的节点;
  • 长度为48位, 及6个字节. 一般用16进制数字加上冒号的形式来表示(例如: 08:00:27:03:fb:19)
  • 在网卡出厂时就确定了, 不能修改. mac地址通常是唯一的(虚拟机中的mac地址不是真实的mac地址, 可能会冲突; 也有些网卡支持用户配置mac地址);
©著作权归作者所有:来自51CTO博客作者赶路人丶的原创作品,如需转载,请注明出处,否则将追究法律责任

萌新成长

赞赏

0人进行了赞赏支持

更多相关文章

  1. 除了域名,Chrome或将隐藏整个URL
  2. 修改MySQL表varchar类型 字段长度锁表情况分析
  3. 百度蜘蛛ip地址大全,百度搜索引擎蜘蛛的IP地址段
  4. MSS和MTU的区别是什么?
  5. laravel获取IP地址的真实地理位置
  6. Java岗 面试考点精讲(网络篇03期)
  7. 计算机网络 划分子网&&构造超网
  8. <JVM中篇:字节码与类的加载篇>04-再谈类的加载器
  9. <JVM中篇:字节码与类的加载篇>03-类的加载过程(类的生命周期)详解

随机推荐

  1. Android(安卓)实例教程
  2. 高焕堂
  3. Android 基于google Zxing实现二维码、条
  4. Android Camera
  5. 2011年Android产品趋势
  6. Android EditText 一些属性设置
  7. EditText的使用
  8. Android 输入法键盘和activity页面遮挡问
  9. Android 绘制中国地图及热点省份分布
  10. android 7和android8在user版本下能应用