쉐도잉 연습: Every Networking Concept Explained In 20 Minutes - 영상으로 영어 말하기 배우기

레슨 만드는 중...
1
In this video, I'm going to show you the essential networking concepts that every software engineer needs to understand.
2
We will follow a simple approach, basically watch how one application grows from a single server to a complex cloud system
3
and learn each networking concept exactly when it becomes necessary.
4
So meet Travel Buddy.
5
This is going to be our imaginary travel booking website.
6
and we will see how its networking needs evolved over time
7
and you'll understand why each networking piece exists and how it solves real problems.
8
We also created a detailed handout that breaks down everything that I'm going to cover today.
9
So make sure to grab it from the link below.
10
It's completely free.
11
So let's start at the beginning.
12
When we first launched Travel Buddy, we had one server running our entire application application.
13
Simple, right?
14
But immediately we faced our first networking question.
15
How do customers actually find our server on the internet?
16
Every device connected to a network needs an identifier so that other devices can send data to it.
17
And this identifier is called an IP address.
18
Think of it like a house address for mail delivery.
19
Without it, no one knows where to send anything.
20
So our travel body server got a public IP address, which looks like this.
21
This means any device on the internet can send a request to this specific number and reach our server.
22
Now you may be thinking, do I need to remember numbers like 203,
23
0, 100, 13, and 10 to reach a website?
24
No, just like you don't memorize phone numbers anymore, we don't memorize IP addresses either.
25
And this is where DNS comes in.
26
DNS translates easy to remember names into IP addresses.
27
So when someone types travelbuddy.com into their browser,
28
DNS automatically looks up the IP address that will look like this and connects them to our server.
29
DNS works like contacts in your phone.
30
not type in the phone number, the actual phone number.
31
You just tap on the name, like mom, and your phone finds the actual phone number in the background.
32
Just like you type google.com and DNS finds the actual IP address behind that name.
33
So now customers can find our server.
34
Good.
35
But here is the next problem.
36
Our single server is now running three different things.
37
the website that customers see, a database storing all the booking information, and a payment processing service.
38
All three share the same IP address.
39
So when the request arrives at our server, how will the server know which application should receive it?
40
This is where ports solve our problem.
41
Ports are numbered channels on a server, ranging from 1 all the way to 65,535,
42
and each application listens on a different port number.
43
So let's say this is how we set up our application.
44
The website listening on port 80, which is standard for web applications or for a secure connection,
45
there is a standard port for secure web application connections on port 443.
46
Then we have a MySQL database listening on port 3306.
47
That's a standard MySQL port.
48
And then we have some custom payment service that we decided to run on port 1990.
49
Now, when a customer visits travelbuddy.com, their browser automatically connects to port 80 or 443,
50
and the server knows to send the traffic to the web application and not to some other program on the server.
51
So think of it like apartment building.
52
The building has one street address, that's the IP address, but inside the building, there are different apartment numbers, like the ports.
53
Great, so that's taken care of.
54
But now, we're growing and a new problem appears.
55
Travel Buddy is now handling customer credit cards and some personal information.
56
And having everything on one server creates a big security risk for us and for our users.
57
Because if a hacker now broke into our server that runs all these applications, they get access to everything.
58
To the database, to the payment service, everything.
59
So we need to separate things.
60
This is called network segmentation.
61
And subnets let us divide our network into separate sections.
62
Think of it like a hospital that has different floors and wings for different types of patients.
63
like maternity ward on one floor, surgery on another to keep things cleanly separated.
64
We do the same with our network.
65
Let's say our front end servers, which are public facing go in subnet A, with this IP address range,
66
application servers going subnet two with this IP address range and database servers go in another subnet.
67
So now our network is divided.
68
But wait, if the website is in one subnet and the database is in another subnet, how does the website talk to the database now?
69
And this is where routing becomes necessary.
70
Routing directs traffic between different network segments.
71
When the website needs data from the database, the router will determine the path.
72
So it's basically like a GPS for network data.
73
It figures out how to get from point A to point B.
74
But now we have a new problem.
75
We've separated things into different areas, but what stops everything from talking to everything else?
76
We've created separate rooms, but all the doors are now wide open and unlocked.
77
Just because we can route traffic between subnets does not mean we should allow all traffic in all directions.
78
And that's where firewalls become necessary.
79
A firewall is like a security guard that checks every piece of traffic
80
and decides whether to allow it based on rules that we set.
81
We have host firewalls that protect individual servers.
82
So we put firewall on the database server and create a rule
83
that says only accept connections on port 3306 and only from IP addresses in the front end subnet.
84
Anything else gets blocked.
85
And we also have network firewalls that sit between subnets and filter traffic.
86
So we may place one between the internet
87
and our frontend subnet with a rule saying allow incoming traffic on port 80 and port 443,
88
but block everything else.
89
So if we have another program or application running in front of subnet on a different port, it will be blocked right away with this firewall rule.
90
So this layered approach means that an attacker has to get through multiple security checkpoints like the network firewall,
91
then the host firewall to actually do any damage because security is always layered.
92
With firewalls in place, we have now created secure zones in our network.
93
But another problem is about to appear.
94
Travel buddy is growing fast.
95
We now have 50 backend servers in a private subnet for security.
96
And these servers have private IP addresses like 10 0 2 5,
97
10 0 2 6, 10 0 2 7 and so on.
98
So private IP addresses work inside your own network, but they cannot communicate directly with the internet.
99
It's like having an internal extension number at the company.
100
You can call other extensions inside the building, but you can't dial an extension number from your home phone from outside the building, from your home office.
101
But our backend servers do need to reach the internet sometimes to download software updates,
102
to connect to external payment APIs maybe, or to send data to third party services.
103
So how do we solve this problem?
104
Because now we have them secured so that nobody can just directly reach them from internet, they cannot reach internet either.
105
And we can't give each server a public IP address because first public IP addresses cost money
106
and we need to manage them and we would now need 50 of them.
107
Well, that's where NAT or network address translation comes in.
108
So NAT basically allows multiple devices with private IP addresses to share one public address when accessing the internet.
109
So here's how it works.
110
When backend server 10.0.2.5 wants to reach an external website to let's say download updates for a database,
111
it sends a request to the net device.
112
The net device replaces the private source address with its own public IP address and sends the request out to the internet.
113
When the response comes back, the net device remembers all this response is meant for server 10.0.2.5 and sends it to the right place.
114
So think of it like a receptionist at an office.
115
When an employee needs to make an external call, they go through the company's main phone line.
116
The receptionist places the call using the company number and then routes the response back to the correct employee's desk.
117
So now all 50 of our backend servers can reach the internet through one public IP address.
118
So they remain hidden and protected, no direct access to them from internet, but they can still get what they want from outside.
119
At this point, we've built a solid networking foundation, but maintaining all these physical servers is becoming expensive and slow.
120
We're spending too much time managing hardware now.
121
We have to predict capacity month in advance.
122
We have to buy servers, install them, maintain them.
123
When we need more capacity, it just takes weeks to set them up.
124
So we decided to move TravelBuddy to cloud.
125
The cloud means we're renting computing resources instead of owning them.
126
So someone else manages the hardware and we can increase or decrease capacity in minutes now instead of weeks.
127
But here is an important part.
128
The networking concepts we learned do not change.
129
We still need IP addresses.
130
We still have ports on servers.
131
We still have subnets, routing, firewalls, and NAT.
132
The cloud just provides these as managed services.
133
So in the cloud, we create what's called a virtual private cloud or VPC.
134
And this is our own isolated section of the cloud providers network.
135
Think of it like renting an office floor in a large office building.
136
Other companies are on different floors, but your area is yours.
137
Nobody can enter your office, even though they're in the same building.
138
Inside our VPC, we create subnets just like before.
139
We still have public subnets for things that need internet access and private subnets for things that should be protected.
140
We use an internet gateway to connect our public subnets to the internet.
141
It's basically like a main entrance to our building.
142
We have route tables, which are like signposts
143
that tell the data where to go in our network
144
and each subnet has a route table
145
that directs traffic for private subnets we use net gateway remember
146
net from earlier it's the same concept just managed by the
147
cloud provider we place a net gateway in a public subnet
148
and configure the private subnets to route their outbound internet traffic through it
149
so now we have the same secure network architecture we built before
150
but running in the cloud with all the benefits of cloud flexibility
151
but our application is about to change again
152
but before we move on i want to give a huge shout out to polumi for making this video possible
153
so you just saw all the infrastructure we built in the cloud the vpc the subnets, the security groups and so on.
154
But here's a question.
155
How do you actually define and manage all of this infrastructure as code?
156
This is where Pulumi really helps because unlike other infrastructure as code tools that use their own domain specific languages,
157
Pulumi lets you use the programming languages that you already know like TypeScript, Python, Go, Java, whatever, that you're already using in your tech stack.
158
This means you can use your favorite IDE to write infrastructure code with all the features like error checking,
159
autocomplete, refactoring, debugging tools that you're already comfortable with.
160
And you can write real programming logic instead of being limited by the configuration syntax.
161
And here's what's really cool.
162
Pulumi just launched Pulumi Neo, which is their new agentic AI built specifically for infrastructure.
163
Neo understands your entire infrastructure setup, respects your policies, and it can handle complex tasks end-to-end.
164
So you can describe what you need in natural language, and Neo will generate the code,
165
review your pull requests, and even help you debug deployments with full understanding of your organization's infrastructure.
166
Palomi is open source, so you can use it for free.
167
But if you want the enterprise features, you can use my code,
168
NANA500, and you're going to get $500 worth of credits to test out those enterprise features.
169
I will leave the link in the description.
170
Now let's continue with the video.
171
As travel buddy grows, our application becomes more complex.
172
So we have more services, more dependencies, more things to install and configure.
173
And we also move to microservices architecture to make our application or scalable.
174
And managing our deployments is actually becoming more and more complex.
175
And we're increasingly running into it works on my development laptop, but not on the production server issues.
176
And this is where containers solve our problem.
177
A container packages everything an application needs, the code, the runtime, all the libraries and settings into one portable package.
178
So think of it like the difference between a food truck and a restaurant.
179
With a food truck, everything is already inside.
180
Just drive it somewhere and start cooking and serving your food.
181
Whereas restaurant, you have to find a place
182
and you have to set everything up and it's really difficult to move location
183
because you have everything tied up in that one restaurant.
184
So we use Docker to containerize all of the travel buddies services.
185
And now we can run the same container on a developer's laptop, on our test servers, in production, and it works almost identically every time.
186
But containers introduce new networking concepts that you need to understand.
187
When you run containers on a server, they need to talk to each other.
188
Docker creates something called a bridge network, a private network that exists only on that server.
189
connected to the same bridge network can actually communicate with each other using just the container names, but containers have their own private networking inside them.
190
When our payment service container runs, it might listen on port 1990, for example, inside the container.
191
So the question is how do external requests then reach that application running inside the container on port 1990?
192
Well, we need to map the containers internal port to a port on the host server.
193
So docker run command has a parameter that lets you bind
194
or map the port inside container to your host or server's port number.
195
So this tells docker take all the traffic
196
that arrives on this host server on port 1990 and forward it to port 1990 inside the container called payment.
197
Notice this is similar to the net concept that we learned earlier.
198
We're translating addresses and ports to bridge between two different networks.
199
Now, as we grow even more and we run containers on multiple servers now, because one server is not enough to run all our containers,
200
before all our microservices, we need them to communicate with each other across servers, not just on a single server.
201
So Docker's overlay network creates a virtual network that spans multiple hosts,
202
making containers on different servers appear as if they were on the same network.
203
So now with Docker, we've made our application portable and consistent.
204
But now we're facing a new challenge, which is managing hundreds of containers, which is absolutely quickly achieved when you have microservices application
205
that is running in multiple replicas or copies of the same service for scalability and performance.
206
And our travel buddy is successful, so we're running hundreds of containers across dozens of servers.
207
And managing this manually is becoming impossible.
208
Like which server should a new container run on?
209
What happens when a container crashes?
210
How do you troubleshoot when something goes wrong when you have hundreds of containers?
211
How do you even know that a container crashed
212
when you have hundreds of them how do containers find each other
213
when they keep moving around from one server to another
214
and this is where kubernetes comes into the picture
215
so kubernetes automates container management think of it like an automated building manager
216
that assigns apartments ensures everything is running and handles maintenance in kubernetes the basic unit is a pod.
217
A pod is a group of one or more containers that work closely together.
218
Usually it's just one container per pod and each pod gets its own IP address.
219
So think of a pod like an apartment unit.
220
The apartment has one address and everyone living in that apartment shares that address.
221
So all the containers inside a pod will share that same IP address.
222
But here's the problem pods are temporary kubernetes can create a
223
pod destroy it move it around create a new one at any time
224
when you do an update maybe a pod crashed maybe you were updating a version of the application
225
and each time kubernetes creates a new pod
226
that pod gets a new ip address so
227
if our website pod is trying to connect to our database pod
228
and the database pod gets recreated with the new ip address
229
the website pods connection breaks and pods are ephemeral
230
so we shouldn't rely on them being around for a long time
231
so how do we solve this problem well this is where
232
kubernetes services help us a kubernetes service provides a stable ip address
233
and dns name that never changes even as pods behind it come
234
and go so we create a service for each of our pods like our database pods
235
and service gets a permanent IP address and a DNS name like database service.
236
So now when our website pod needs to connect to the database, it connects to database service instead of connecting to a pod directly.
237
And the service automatically forwards the connection to one of the healthy active database pods.
238
If a database pod dies in the background and gets replaced with a new one, the service automatically updates.
239
And the website pod does not notice anything.
240
It's still connecting to the same database service.
241
It doesn't know what even happened in the background.
242
So think of it like a department phone number at a company.
243
You call the sales department number and it rings at someone's desk.
244
The person might change, but the department number stays the same and there will always be someone who will answer the phone.
245
And this is crucial in Kubernetes because pods are constantly being created and destroyed and services provide the stability that we need.
246
Now we need to expose our application to the internet.
247
We have multiple services running inside our cluster.
248
So we need to think how do external users actually reach our applications running inside the cluster?
249
Well, we use something called Ingress.
250
So Kubernetes Ingress is like a reception desk that routes visitors to the right department based on what they're asking for.
251
So a single Ingress can handle all incoming traffic into the cluster
252
and route it to the correct service inside the cluster based on the rules that we configure.
253
For example, we can say all the requests coming to travelbuddy.com go to website service.
254
All the requests coming to travelbuddy.com slash API slash booking go to the booking service.
255
Slash API slash payment request to that URL go to the payment service.
256
So let's recap what we learned by following Travel Buddy's journey.
257
We learned five basic foundational concepts of networking.
258
First of all, every device needs a unique identifier, which is an IP address, so others can find it and talk to it.
259
And DNS then translates human-friendly names to these IP addresses.
260
Second, multiple applications on the same server need different doors to listen on so that traffic goes to the right application.
261
So that's the concept of ports.
262
We need network segmentation where we divide networks into separate sections
263
or subnets for security and organization and routing then connects these sections.
264
We also need security in order to control what traffic is allowed between different network segments and to different ports.
265
So we need firewall concept for that.
266
And finally, when we secure our backend applications within private networks, We need them to still reach the internet directly.
267
So NET acts as a gateway, translating their private addresses to a shared public IP address to allow communication to the internet.
268
So these five concepts are the foundation of networking and whether you are working with physical servers, cloud infrastructure, Docker containers, or Kubernetes pods,
269
these principles actually remain the same.
270
So the tools change we went from physical routers to vpcs from physical firewalls to security groups
271
but the concepts never change so if you master these fundamentals
272
and you'll understand those basic networking concepts then you will understand any networked system
273
and you'll be able to troubleshoot optimize applications at any scale now
274
if this was helpful then share it with one friend
275
or colleague that you know will benefit from this video thank you for watching and I'll see you in the next one.

이 레슨의 어휘와 말하기 포인트

이 B2 수준 말하기 레슨은 영상 “Every Networking Concept Explained In 20 Minutes”을(를) 바탕으로 합니다. 가장 자주 반복되는 단어는 다음과 같습니다: server, container, port, pod, application. 이 영상에는 섀도잉할 문장 275개와 단어 3500개가 있습니다. 말하는 구간의 길이는 23:20입니다. 화자는 분당 약 150단어로, 일상 대화에 가까운 자연스러운 속도로 말합니다. 영어에서 가장 많이 쓰이는 3,000단어에 속하는 단어가 80%뿐이라 어휘가 어려운 편입니다.

이 영상의 핵심 어휘

영상에서 가장 어려운 단어 15개를 발음, 뜻과 함께 정리했습니다.

단어발음뜻
container 명사/kənˈteɪ.nəɹ/그릇, 용기
firewall 명사/ˈfaɪ(ə)ɹˌwɔl/방화벽
pod 명사/ˈpɑd/깍지
translate 동사/tɹænzˈleɪt/번역하다
configure 동사/kənˈfɪɡə(ɹ)/설정하다
divide 동사/dɪˈvaɪd/나누다, 가르다
automate 동사/ˈɔ.təˌmeɪt/자동화하다
memorize 동사/ˈmɛm.əˌɹaɪ̯z/기억하다, 암기하다
receptionist 명사/ɹɪˈsɛp.ʃə.nɪst/리셉셔니스트, 접수인
router 명사/ˈɹaʊ.tɚ/라우터
segmentation 명사세분화
install 동사/ɪnˈstɔl/설치하다, 깔다
checkpoint 명사/ˈt͡ʃɛkˌpɔɪnt/검문소
ephemeral 형용사/ɛˈfɛ.mə.ɹəl/재지 않는
syntax 명사/ˈsɪn.tæks/통어론, 구문론

영상에 나오는 구동사

단어뜻
come back 동사돌아오다

따라 말해 볼 만한 문장

영상에 나오는 짧고 완결된 문장으로, 일상 대화에서 그대로 쓸 수 있습니다:

  • How do customers actually find our server on the internet?
  • We're spending too much time managing hardware now.
  • It's basically like a main entrance to our building.

이 영상의 문법

화자가 가장 많이 쓰는 문형을 영상 속 실제 표현과 함께 정리했습니다.

문형영상 속 표현
수동태 be + 과거분사 — 누가 하는지보다 무슨 일이 일어나는지에 초점is called · are numbered · is divided
관계절 who / which + 절 — 사람이나 사물에 대한 추가 정보servers, which are · tables, which are · Neo, which is
현재완료 have/has + 과거분사 — 과거의 일이 지금도 관련이 있을 때We've separated · We've created · have now created

주의할 발음

화자는 we're, we've, you'll 같은 축약형과 약화된 형태를 28번 사용합니다. 들리는 대로 짧게 발음하세요.

  • “sh”와 “zh” 소리: receptionist /ɹɪˈsɛp.ʃə.nɪst/, troubleshoot /ˈtɹʌbl̩ˌʃuːt/, foundational /faʊnˈdeɪ.ʃə.nəl/, configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/, shout /ʃaʊt/
  • 긴 단어 — 강세 위치에 주의: receptionist /ɹɪˈsɛp.ʃə.nɪst/, ephemeral /ɛˈfɛ.mə.ɹəl/, foundational /faʊnˈdeɪ.ʃə.nəl/, identically /aɪˈdɛntɪkəli/, dependency /dɪˈpɛndənsi/

한국어 화자가 어려워하는 소리:

  • /f/ — ㅍ(/p/)으로 바꾸지 말고 윗니를 아랫입술에 대기: firewall /ˈfaɪ(ə)ɹˌwɔl/, configure /kənˈfɪɡə(ɹ)/, ephemeral /ɛˈfɛ.mə.ɹəl/, foundational /faʊnˈdeɪ.ʃə.nəl/, configuration /kənˌfɪɡ.əˈɹeɪ̯.ʃən/
  • /v/ — ㅂ(/b/)과 구별하기: divide /dɪˈvaɪd/, provider /pɹəˈvaɪ.də(ɹ)/, overlay /ˌoʊvɚˈleɪ/, evolve /ɪˈvɑlv/, visitor /ˈvɪzɪtɚ/
  • /z/ — ㅈ이 아니라 성대를 울리는 /s/: translate /tɹænzˈleɪt/, memorize /ˈmɛm.əˌɹaɪ̯z/, browser /ˈbɹaʊ.zəɹ/, optimize /ˈɑptɪmaɪz/, expose /ɪkˈspoʊz/

이 영상으로 연습하는 방법

  1. 먼저 말하지 않고 영상을 끝까지 듣고 모르는 단어를 적어 둡니다.
  2. 0.75배속으로 한 문장씩 섀도잉을 시작하고, 익숙해지면 보통 속도로 돌아갑니다.
  3. 자신의 목소리를 녹음해 원본과 비교하고, container, firewall, pod 같은 단어에 특히 주의합니다.

쉐도잉이란? 영어 실력을 빠르게 키우는 과학적 방법

쉐도잉(Shadowing)은 원래 전문 통역사 훈련을 위해 개발된 언어 학습 기법으로, 다언어 학자인 Dr. Alexander Arguelles에 의해 대중화된 방법입니다. 핵심 원리는 간단하지만 매우 강력합니다: 원어민의 영어를 들으면서 1~2초의 짧은 지연으로 즉시 소리 내어 따라 말하는 것——마치 '그림자(shadow)'처럼 화자를 따라가는 것입니다. 문법 공부나 수동적인 청취와 달리, 쉐도잉은 뇌와 입 근육이 동시에 실시간으로 영어를 처리하고 재현하도록 훈련합니다. 연구에 따르면 이 방법은 발음 정확도, 억양, 리듬, 연음, 청취력, 말하기 유창성을 크게 향상시킵니다. IELTS 스피킹 준비와 자연스러운 영어 소통을 원하는 분들에게 특히 효과적입니다.

섀도잉 방법: 단계별 전체 가이드 읽기 →