复习-网络编程之IP和端口号
一、 网络编程中有两个主要的问题:
1.如何准确地定位网络上一台或多台主机;定位主机上的特定的应用(分别对应2.1);
2.找到主机后如何可推高效地进行数据传输(分别对应2.2);
二、网络编程中的两个要素:
1.IP和端口号;
2.提供网络通信协议:TCP/IP参考模型(应用层、传输层、网络层、物理+数据链路层)
三、通信要素一:IP和端口号
- IP:
1.IP:唯一的标识Internet. 上的计算机(通信实体);
2.在Java 中使用InetAddress类代表IP;
3.IP分类: IPv4(4个字节组成,4个0-255,点分十进制表示)和IPv6(16字节,8个无符号整数,每个整数用冒号分开:四个十六进制位表示);万维网和局域网;
4.域名:www.baidu.com; www.sina.com;
5.本地回路地址:127.0.0.1,对应:localhost;
6.如何实例化InetAddress类?
getByName(String host); getLocalHost();
InetAddress类的2个常用方法:getHostName() / getHostAddress();
7.Internet 上的主机有两种方式表示地址:
a. 域名(hostName): www.atguigu.com
b. IP地址(hostAddress): 202. 108.35.210
①InetAddress类主要表示IP地址,InetAddress类的一个对象就代表一个具体的IP地址,有两个子类: Inet4Address、 Inet6Address
②InetAddress类对象含有一个Internet 主机地址的域名和IP地址:www.baidu.com; 和 14.215.177.39。
域名解析:域名容易记忆,当在连接网将时输入-一个主机的域名后,域名服务器(DNS)负责将域名转化成IP地址,这样才能和主机建立连接。
输入网址www.baidu.com,
先通过本机hosts(C:\Windows\System32\drivers\etc\hosts)寻找是否有输入域名地址:
如果没有,通过DNS域名解析服务器解析出ip地址:14.215.177.39,再通过解析出的ip地址访问到服务器:
- 端口号:
1.端口号标识正在计算机上运行的进程(程序) ,不同的进程有不同的端口号;被规定为一个16位的整数0~65535。
2.端口分类:
a. 公认端口: 0~1023。 被预先定义的服务通信占用(如: HTTP占用端口
80,FTP 占用端口21,Telnet占用端口23);
b. 注册端口: 1024~49151。 分配给用户进程或应用程序。( 如: Tomcat占
用端口8080,MySQL占用端口3306,Oracle占用端口1521等) 。
c. 动态/私有端口: 49152~65535。
3.端口号与IP地址的组合得出- 一个网络套接字: Socket。
四、网络通信要素二:网络通信协议
TCP/IP协议簇:
1.传输层协议中有两个非常重要的协议:.
a. 传输控制协议TCP(Transmission Control Protocol)
b. 用户数据报协议UDP(User Datagram Protocol)。
2.TCP/IP以其两个主要协议:传输控制协议(TCP)和网络互联协议(IP)而得
名,实际上是一组协议,包括多个具有不同功能且互为关联的协议。
3.IP(Internet Protocol)协议是网络层的主要协议,支持网间互连的数据通信。
4.TCP/IP协议模型从更实用的角度出发,形成了高效的四层体系结构,即
物理链路层、IP层、传输层和应用层。
TCP和UDP
TCP协议:
1.使用TCP协议前,须先建立TCP连接,形成传输数据通道;
2.传输前,采用“三次握手”方式,点对点通信,是可靠的;
3.TCP协议进行通信的两个应用进程:客户端、服务端;
4.在连接中可进行大数据量的传输;
5.传输完毕,需释放已建立的连接,效率低。UDP协议:
1.将数据、源、目的封装成数据包,不需要建立连接;
2.每个数据报的大小限制在64K内;
3.发送不管对方是否准备好,接收方收到也不确认,故是不可靠的;
4.可以广播发送;
5.发送数据结束时无需释放资源,开销小,速度快。
tips:
1.一个IP对应着InetAddress类的一个对象;
2.实例化InetAddress类的两种方式:
a. InetAddress.getByName(String host);
b. InetAddress.getLocalHost();//获取本地ip
3.两个常用方法:
a. getHostName();
b. getHostAddress();
复习-网络编程之IP和端口号相关推荐
- Linux网络编程之IP地址转换为无符号整数的方法
Linux网络编程之IP地址转换为无符号整数的方法,代码如下:(没考虑异常输入) #include <stdio.h> #include <string.h> #include ...
- 网络编程之:IP的ULONG方式字符串方式的相互转化
网络编程之:IP的ULONG方式字符串方式的相互转化 // IpAndStr.cpp : Defines the entry point for the console application. // ...
- 【Python基础】网络编程之IP地址
[Python基础]网络编程之IP地址 文章目录 IP 地址的介绍 1. IP 地址的概念 2. IP 地址的表现形式 2. IP 地址的作用 3. 查看 IP 地址 4. 检查网络是否正常 3. 小 ...
- Java之初步识别网络编程:IP、端口号、TCP/UDP、Socket、URL等
文章目录 一.网络编程概述 二.网络通信要素概述 三.通信要素1:IP和端口号 IP相关 InetAdress类 如何实例化InetAddress 端口号 四.通信要素2:网络协议 TCP/IP协议簇 ...
- 网络编程之TCP服务端程序开发
TCP服务端程序开发 学习目标 能够写出TCP服务端应用程序接收和发送消息 1. 开发 TCP 服务端程序开发步骤回顾 创建服务端端套接字对象 绑定端口号 设置监听 等待接受客户端的连接请求 接收数据 ...
- Java网络编程之IP地址和InetAddress类
Java语言的优势之一是Java程序能访问网络资源.Java提供一系列的类支持Java程序访问网络资源. TCP/IP协议和IP地址 为了进行网络通信,通信双方必须遵守通信协议.目前最广泛使用的是TC ...
- linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结
首先声明,这篇博客是几篇博客转载然后总结在一起的,只当是学习笔记,不在意是什么原创和转载了,学到东西就好. 1.IP协议首部格式(IP协议处余网络层) IP数据报首部图片格式: 最高位在左边,记为0 ...
- Java网络编程之TCP、UDP
Java网络编程之TCP.UDP 2014-11-25 15:23 513人阅读 评论(0) 收藏 举报 分类: java基础及多线程(28) 版权声明:本文为博主原创文章,未经博主允许不得转载. J ...
- java网络编程之TCP通讯
java中的网络编程之TCP协议的详细介绍,以及如何使用,同时我在下面举2例说明如何搭配IO流进行操作, 1 /* 2 *TCP 3 *建立连接,形成传输数据的通道: 4 *在连接中进行大数据量传输: ...
最新文章
- SimpleDateFormat处理 dd-MMM-yy类型日期
- asp.net panel 加html,ASP.NET 页面中动态增加的控件、添加事件
- (chap3 Http报文内的http信息) HTTP报文格式
- pythonandroid自动化测试仪器_使用Python进行Android自动化测试
- 2021第一波新年(春节)中国风插画设计,为年底储备素材
- python3.7运行报错_Python 3.7 环境下运行 scrapy crawl 报错 def write(self, data, async=False)?...
- storm能不能测试wadl_测试网红燃油宝到底能不能除积碳,看完不花冤枉钱
- Python函数之返回多值
- 【Python-3.5】绘制随机漫步图
- python判断英文字母_python判断字符串是否包含字母
- 计算机员工工资管理系统源代码,C员工工资管理系统源代码.doc
- Java高阶知识体系总结(一)
- 数学建模多元分析实例
- 十进制转化为十二进制
- exe文件更换图标方法
- R-RCN 论文理解3
- 主流的企业级虚拟化解决方案
- 好乐买总裁李树斌:10亿,突破技术瓶颈
- 我的架构梦:(二)MyBatis的一级、二级、分布式缓存的应用以及源码分析
- java80道面试题