Linux主机IP地址配置

1 简述osi七层模型和TCP/IP五层模型

 osi七层模型有如下层次构成:
(1) 物理层:二进制传输,为启动、维护以及关闭物理链路定义了电气规范、机械规范、过程规范和功能规范;
(2) 数据链路层:定义如何格式化数据以便进行传输以及如何控制对网络的访问,支持数据帧校验;
(3) 网络层:路由数据包,选择传递数据包的最佳路径,支持寻址和路径选择;
(4) 传输层:确保数据传输的可靠性;建立、维护和终止虚拟电路;通过错误检测和恢复;信息流控制保障可靠性;
(5) 会话层:建立、管理和终止在应用程序之间的会话;
(6) 表示层:确保接受系统可以读出该数据;格式化数据;协商用于应用层的数据传输语法;提供加密;
(7) 应用层:为应用程序进程(例如,电子邮件、文件传输和终端仿真)提供网络服务;提供用户身份验证;

    TCP/IP五层模型由物理层、数据链路层、网络层、传输层和应用层构成;

2 总结描述TCP三次握手四次挥手

TCP三次握手:

(1) 客户端A发送一个初始化报文SYN=1,序列号seq=x,不携带数据;同时TCP客户进程变为SYN-SENT状态;
(2) 服务B收到客户端A发送的初始化报文,将TCP进程变为SYN-RCVD状态;同时回应初始化报文SYN=1,确认ACK=1,序列号seq=y,确认已收到序号为x的报文了ack=x+1;
(3) 客户端A收到服务器A发送的初始化确认报文,将TCP状态变为ESTABLISHED状态;同时对收到的报文做确认,发送ACK=1,seq=X+1,ack=y+1报文;
(4) 服务器B收到客户端A的确认报文后,将TCP进程状态变为ESTABLISHED状态。
 TCP的三次握手很好的解决了已失效的连接请求导致的资源消耗占用问题。

TCP四次挥手:

(1) 客户端A发送一个释放连接FIN=1,序列号seq=u的报文;TCP进程状态变为FIN-WAIT-1;
(2) 服务器B收到客户端关闭连接报文后,TCP状态变为CLOSE-WAIT;同时发送ACK=1,序列号seq=v,ack=u+1报文,用于对收到的报文做确认。客户端A收到服务器的确认报文后,TCP进程状态变为FIN-WAIT-2。在这个过程中服务器向客户端方向发送数据的通道是正常的;
(3) 服务器B发送FIN=1,ACK=1,seq=w,ack=u+1的释放连接报文,并将自己的TCP进程状态变为LAST-ACK状态。
(4) 客户端A收到B的释放连接报文,发送ACK=1,seq=u+1,ack=w+1对收到的报文进行确认;此时客户端A的TCP进程进入到TIME-WAIT状态(2MSl,最长报文生存时间)。服务器B在收到对FIN确认的报文后,TCP进程状态变为closed状态。客户端A在等待时间到期后,TCP进程状态也变为closed。

3 描述TCP和UDP区别

 TCP和UDP都属于传输层协议,封装在IP协议报文中。TCP的协议编号是6,UDP的协议编号是17。
 TCP和UDP的相同点,都是通过源端口号和目的端口号标识一个端到端的连接的,也都支持校验和确认。
 TCP和UDP的不同点:UDP的报文头部是固定的8个字节,而TCP的报文头部最小是20字节,最大是可变成的60个字节。因此TCP的报文字段,就比UDP的报文字段多了序列号、ack确认号,头部偏移,滑动窗口等字段。从而可以实现,TCP发送确认机制,达到可靠传输的目的;TCP的窗口机制,可以实现流量控制和拥塞控制等目的。

4 总结ip分类以及每个分类可以分配的IP数量

A类地址,可以分配的IP地址数量是:2^24-2;
B类地址,可以分配的IP地址数量是:2^16-2;
C类地址,可以分配的IP地址数量是:2^8-2;
D类地址,是组播地址;
E类地址,保留使用。

5 总结IP配置方法

5.1 ip address 可用于管理网卡的IP地址;

    查看ip地址,语法:
 ip address show
 配置添加或删除接口IP地址,语法格式:
 ip address add/del IP/NETMASK dev IFACE [label LABEL]
【范例】
 [[email protected] ~]# ip addres show
 [[email protected] ~]# ip address add 192.168.30.200/24 dev ens37
 [[email protected] ~]# ip address del 192.168.30.200/24 dev ens37
 [[email protected] ~]# ip address add 192.168.30.200/24 dev ens37 label ens37:0

5.2 nmcli 可用于管理网卡的IP地址;

  nmcli命令管理是一个一个的connection,那么connection到底指的是什么?
  在NetworkManager中,每一个connection都认为是一个网络接口,基本上可以对应一个网卡。每新增一个connection,都可以称之为增加一个connection的配置文件。事实上,新增connection的时候,NetworkManager会自动创建一个/etc/syconfig/network-scripts/icfg-NAME的配置文件。
 因此通过nmcli管理的就是connection的创建,启动,修改,禁用等操作。
【范例】
 [[email protected] Packages]# rpm -ivh bash-completion-2.1-6.el7.noarch.rpm
 [[email protected] ~]# nmcli device disconnect ens37
 [[email protected] ~]# nmcli device connect ens37
 [[email protected] ~]# nmcli connection add autoconnect yes con-name net-1 ifname ens37 type ethernet ipv4.addresses 192.168.30.200/24 ipv4.gateway 192.168.30.1
 [[email protected] ~]# nmcli connection modify net-1 ipv4.method manual
 [[email protected] ~]#nmcli connection delete 712aede2-75f8-39ff-895a-8fe444018c11

原文地址:https://blog.51cto.com/12752016/2485026

时间: 2024-11-06 10:01:01

Linux主机IP地址配置的相关文章

配置LINUX主机IP地址并修改hosts文件和远程桌面

配置远程桌面 永久关掉放火墙 service iptables stop chkconfig iptables off 修改启动内核级别 # vi etc/inittab id:5:initdefault; 修改配置远程桌面 # vi /etc/gdm/custom.conf [xdmcp] Enable=1 [security] AllowRemoteRoot=true 重启服务器 配置主机IP地址并修改hosts文件 # vi /etc/hosts #Public 10.xx.40.44 d

[Linux] 024 IP 地址配置和网络 yum 源

1. IP 地址配置 (1) 使用 setup 工具 $ setup ps setup 是 RedHat 系列的功能:一般地,Debian系列没有这个功能 Xubuntu 没有这个功能 (2) 启动网卡 step1 $ vi /etc/sysconfig/network-scripts/ifcfg-eth0 step2 把 ONBOOT = "no" 改为 ONBOOT = "yes" step3 重启网络服务 $ service network restart p

Linux下IP地址配置

ifconfig -a 查看linux下的网卡配置 dhclient dhcp获得IP vi /etc/sysconfig/netwaork-scripts/ifcfg-eth0 IPADDR=192.168.199.200NETMASK=255.255.255.0GATEWAY=192.168.199.1DNS1=192.168.199.1DNS2=223.5.5.5 service network restart ifdown eth0ifup eth0

Linux CentOS 7 IP地址配置及网络问题排查

一.Linux CentOS 7 IP地址配置 输入命令"ifconfig" 查看本机IP地址. [[email protected] ~]# ifconfig     ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500         inet 192.168.42.170  netmask 255.255.255.0  broadcast     192.168.42.255         ether

从ip addr add和ifconfig的区别看linux网卡ip地址的结构

今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下.其实它们之间没有什么区别,只 是表述方式不同罢了.如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上,每一个网卡设备都有一个mac地址,但是却可 以有多个网络层地址,比如IP地址,然而这个事实无法很好地像用户提供操作接口,所以就引出了ip别名(IP aliases)和辅助ip(secondary

Linux 修改ip地址

昨天重新安装了下系统,发现虚拟机中安装的Linux系统ip地址被重新分配,开始没有觉得什么,可是打算连接虚拟机中搭建的solr集群时候发现悲剧了,原因是使用zookeeper搭建的solr集群,在zookeeper的配置文件中,设置的ip地址和现在系统的地址完全不一样,虽然可以手动一个个修改.可是依然觉得太麻烦,最后决定直接修改Linux的ip地址得了,以下是修改方法. 注:修改必须使用 root权限,否则无法修改成功. 1. 在开始操作之前,先在命令行中 输入命令  ifconfig  查看网

发起SSH攻击主机IP地址列表

发起SSH攻击主机IP地址列表 东北大学 http://antivirus.neu.edu.cn/scan/ssh.php 以下IP地址对SSH服务进行攻击,严重增加主机成为肉鸡的可能性.强烈建议网管对以下地址进行封锁. #==========开始复制========== ldd `which sshd` | grep libwrap # 确认sshd是否支持TCP Wrapper,输出类似:libwrap.so.0 => /lib/libwrap.so.0 (0x00bd1000) cd /u

无法启动INTERNET连接共享。一个已经用IP地址配置的LAN连接需要自动IP地址

提问者采纳 很简单 只要把你要共享的连接 192.168.0.1 0改成1 然后就可以共享了 共享后再改回来 就能上了 但是会出现IP冲突的~ 无法启动INTERNET连接共享.一个已经用IP地址配置的LAN连接需要自动IP地址

获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址

/** * 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址; * @Title: getIpAddress * @Description: TODO(这里用一句话描述这个方法的作用) * @param @param request * @param @return * @param @throws IOException 参数 * @return String 返回类型 * @throws */ public String getIpAddress(HttpServletR